diff --git a/CHANGELOG.md b/CHANGELOG.md index 23d894155..5b5508478 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,27 @@ versions, and the entries below say what each tag does and does not claim. ## Unreleased +- Program equalities over all inputs (#117, SPEC.md §17.12, `PF-20`..`PF-23`, + no new diagnostic code). Language 1.2 orders `Int` and every fixed-width + integer type with `<=` and `<`, by mathematical value; language 1.1 keeps + `Nat` only. `linear_arithmetic` now reads the runtime: `less_than`, + `equal`, `negate`, `quotient`, `remainder` (truncating division by a + literal included), and fixed-width order and equality become linear + arithmetic, every `if` and `match` left in the goal is split, and `omega` + decides each case. The fold laws are LexLean source, the native runtime + module `LexLeanRuntime.Laws` (`tests/runtime-library/LAWS.md`). It holds + the normal form of additive list, set, and map folds as sums, their + linearity, and their invariance under permutation, append, and reverse, + which `linear_arithmetic` rewrites with, plus fusion, the fold of a pair, + and the fold of an append. The closed `law` proof form applies one of + these registered laws (`language/runtime-1.2/laws.toml`) with linking + checks. `examples/fold-laws` verifies integer kernels and fold equalities + for all inputs, with `decide` only on closed instances. The + language-1.2 compiler-semantics ID changes (`semantic_ir` 11, + `lean_backend` 18, `proof_lowering` 3), and every language-1.2 lock, + golden, fixture expectation, calculus package, production export, and + verified record is regenerated. The register holds 391 IDs. + - The runtime gates read what they claimed to (#154, follow-up to #144; no new diagnostic code, no new ID). `RT-04` finds a Lean runtime text in any string literal of the compiler's source outside unit-test items, in production code diff --git a/CONFORMANCE.md b/CONFORMANCE.md index ebd6819ec..7ab236682 100644 --- a/CONFORMANCE.md +++ b/CONFORMANCE.md @@ -392,6 +392,10 @@ the error registry does not sanction (R5, `ERRORS.md`). | `PF-17` | `build` | native_decide is never accepted or generated. | | `PF-18` | `build` | Lean proof failures remap to the smallest originating LexLean proof or statement span. | | `PF-19` | `build` | The language-1.2 linear_arithmetic proof form names only the prior document definitions it unfolds, lowers to one fixed omega script, proves true linear obligations, and is refused by Lean on a false one. | +| `PF-20` | `build` | Under language 1.2 the order propositions <= and < take two operands of one integer type, Nat, Int, or one fixed-width type, and lower to Lean's order on that type; language 1.1 keeps them over Nat only. | +| `PF-21` | `build` | The language-1.2 linear_arithmetic proof form reads the runtime: it rewrites less_than, equal, negate, quotient, remainder, and fixed-width order and equality into linear arithmetic over mathematical values, splits every if and match left in the goal, proves integer kernels for all inputs, and is refused by Lean on a false one. | +| `PF-22` | `build` | The runtime module LexLeanRuntime.Laws states the fold laws as LexLean source with every row's axioms pinned, and linear_arithmetic rewrites additive list, set, and map folds into sums that are linear and invariant under append and reverse, so fold equalities verify for all inputs with decide only on closed instances. | +| `PF-23` | `build` | The language-1.2 law proof form applies one registered fold law (fusion, the fold of a pair, or the fold of an append) to checked type arguments, arguments, and prior theorems discharging its premises, and is refused in linking for an unregistered law, a wrong argument count or type, or a missing premise, and by Lean for a statement the law does not prove. | ## reasoning diff --git a/README.md b/README.md index 4f4e6e236..b0598495f 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ Every directory under [examples/](examples/) is discovered by the example gate ( | [production-coverage](examples/production-coverage/) | Language-1.2 semantic preservation coverage (SPEC.md §17.17): 33 production roots across four modules that together exercise every runtime row of the production registry (§17.13) — fixed-width arithmetic at every width, text, bytes, and decimal parsing and formatting, records, options, generic and nested inductive types, higher-order functions with captures, structural, mutual, and well-founded recursion, and every collection template and key order; verification extracts every root and checks its certificate A. | | [models](examples/models/) | Language-1.2 models (SPEC.md §17.12) across nine modules: a stateful deterministic session with an invariant, a rule policy, a statistical triage and an integer feed-forward digit recognizer whose weights are content-addressed artifacts embedded with kernel-checked decodings, stateful ledgers in every contract shape whose evidence leaves runtime checks open, every composite form over stateless and stateful stages (stateful sequences with proved and checked junctions, stateful fan-out, product, and branch, and stages checked after they run), every claim kind discharged by statement-exact theorems and restated against the fixed model semantics, every runtime refusal decided by the kernel, and production roots that apply models through their required runtime checks, extracted through Lean. | | [reasoning](examples/reasoning/) | Language-1.2 reasoning machines (SPEC.md §17.12) across five modules: a clinical forward expert system whose eight guarded rules derive a multi-step triage with its invariant and termination proved, a generic terminating countdown, a deduplicating breadth-first jug planner, a depth-first search and a generate-and-verify reasoner over a model's proposals, an answer proved correct under the logic's invariant with its check erased, forged traces and inapplicable steps refused at run time, the six-counter ledger of each run and every generated theorem kernel-checked, and production roots extracted through Lean and transcribed to calculus programs the compiler project checks against the reasoners themselves. | +| [fold-laws](examples/fold-laws/) | Language-1.2 program equalities over all inputs (SPEC.md §17.12, *Fold laws*) across three modules: a clamped requantization step monotone and bounded for every `Int`, truncating division by positive and negative literals, order and equality over `UInt8` and `Int8`, additive folds over lists, sets, and maps equal as sums (doubling, counting, weighting, append in either order, reverse, debits against credits, a map's keys and values), a single-pass statistics fold and a fused parity fold proved by the `law` form, and `decide` only on closed instances. | | [uor-atlas](examples/uor-atlas/) | The complete native Atlas declaration and proof graph, including the census/group chain, `S37`, `S38`, and the authoritative integer-uniqueness statement `S43`; no handwritten Atlas module is a generated dependency. | ## Building and running the gate @@ -137,7 +138,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 387 registered conformance IDs are implemented and pass; `just vv` runs clean from a checkout with the pinned toolchain installed. +All 391 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. @@ -156,7 +157,7 @@ Every row is validated by `just vv`; the IDs link the claim to its register row, | Fixed structural, mathematical, and proposition grammar with closed ambiguity handling | `GR-01`..`GR-16` | `build` | | Typed closed IR with canonical serialization, native core modules (and the second schema of them that lossless migration of the proof library needs), portable language-1.1 application data and operations, versioned language-1.2 semantic modules, products, and first-class functions, ordered collections and graphs, semantic snapshots, alpha identities, recursion evidence, and content identities | `SM-01`..`SM-31` | `build` | | Document and generic semantic declarations with exact self-application, type checking, structural recursion, recursive and mutual language-1.2 data, generic and executable higher-order definitions, mutual and well-founded recursion with semantic evidence, explicit state threading, and acyclicity rules | `DF-01`..`DF-18` | `build` | -| The structured proof language with pinned Lean lowerings, including closed linear arithmetic | `PF-01`..`PF-19` | `build` | +| The structured proof language with pinned Lean lowerings, including closed linear arithmetic, integer order, and the fold laws | `PF-01`..`PF-23` | `build` | | Prose-free deterministic generated Lean with complete token traceability | `LN-01`..`LN-12` | `build` | | Canonical LaTeX regeneration and the optional hash-checked PDF provider | `TX-01`..`TX-12` | `build` | | Canonical diagnostics, source maps, coverage, manifests, and reproducible builds | `AR-01`..`AR-14` | `build` | diff --git a/SPEC.md b/SPEC.md index ef60ba078..b1164213d 100644 --- a/SPEC.md +++ b/SPEC.md @@ -760,7 +760,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`, `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. | +| `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`, `LexLeanLaws`, `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. | @@ -2613,7 +2613,9 @@ backend runs. | `executable` definitions | `lexlean/semantic-module/2` | `"executable":true` asserts production eligibility under the higher-order rules below. | | `mutual` definition label | `lexlean/semantic-module/2` | `"mutual":"Label"` on a structurally recursive definition places it in a mutual definition group under the recursion rules below. | | `termination` evidence | `lexlean/semantic-module/2` | `{"measure":m,"evidence":[theorem...]}` on a definition declares well-founded recursion under the recursion rules below. | -| `linear_arithmetic` proof | `lexlean/semantic-module/2` | `{"kind":"linear_arithmetic"}`, optionally with `definitions`, a strictly sorted list of prior document definitions and no other member. Without definitions it lowers to the fixed script `intros`, `try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq] at *` (adding `LexLeanRuntime.subtract, LexLeanRuntime.multiply` when the module emits the portable runtime), and `all_goals omega`, so a goal the simplifier already closed leaves nothing for `omega`; with definitions, `subst_vars` follows `intros` and the definitions lead the `simp only` list, so hypotheses equating a local with a constructor value are substituted and a measure over them unfolds to linear arithmetic. | +| `linear_arithmetic` proof | `lexlean/semantic-module/2` | `{"kind":"linear_arithmetic"}`, optionally with `definitions`, a strictly sorted list of prior document definitions and no other member. It lowers to one fixed script (*Fold laws* below): `intros`; with definitions, `subst_vars`; one `simp only [...] at *` over, in order, the named definitions, the Boolean-comparison bridges `← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq`, the runtime definitions `LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal`, the Lean lemmas `beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte`, the registered rewrite set of the fold laws, and for each fixed-width type `T` (`UInt8`, `UInt16`, `UInt32`, `UInt64` read by `toNat`; `Int8`, `Int16`, `Int32`, `Int64` read by `toInt`) first `T.le_iff_v_le, T.lt_iff_v_lt` and then `T.reduceToNat` or `T.reduceToInt` and `← T.v_inj`; a second `simp only [...] at *` over `UInt8.toNat` … `Int64.toInt` and `BitVec.toInt_eq_toNat_cond`, which reads every remaining fixed-width value as the bounded natural number of its bits; `all_goals (repeat' split)`, which splits every `if` and `match` left in the goal; and `all_goals omega`. Each `simp only` is under `try` with the unused-argument linter off, so a goal the simplifier already closed leaves nothing for `omega`. With definitions, hypotheses equating a local with a constructor value are substituted and a measure over them unfolds to linear arithmetic. A module with this proof imports `LexLeanRuntime.Laws`. | +| `law` proof | `lexlean/semantic-module/2` | `{"kind":"law","name":N,"type_arguments":[T...],"arguments":[...],"premises":[theorem...]}` (`type_arguments` and `premises` omitted when empty): exact application of the registered fold law `N` (*Fold laws* below) to explicit type arguments, arguments, and prior theorems discharging its premises in order. Linking checks the counts, the type arguments, each argument against the registered parameter type, and that each premise names a prior theorem; Lean checks the statement. It lowers to `exact @L (T1) … (a1) … p1 …`, `L` the law's Lean name, and a module with it imports `LexLeanRuntime.Laws`. | +| integer order | `lexlean/semantic-module/2` | The order propositions `le` and `lt`, which language 1.1 types over `Nat` only, take two operands of one integer type: `Nat`, `Int`, or one fixed-width type. They lower to Lean's `<=` and `<` on that type, which on a fixed-width type is the order of its mathematical value. | | `map`, `set` types | `lexlean/semantic-module/2` | `{"kind":"map","key":K,"value":V}` and `{"kind":"set","element":K}` over an ordered key type, under the collection rules below. | | `map_literal`, `set_literal`, `graph_literal` terms | `lexlean/semantic-module/2` | Literal collections of literal keys, canonicalized in linking under the collection rules below. | | collection primitives | `lexlean/semantic-module/2` | The `primitive` operations `map_insert`, `map_remove`, `map_lookup`, `map_contains`, `map_size`, `map_keys`, `map_values`, `map_entries`, `map_fold`, `set_insert`, `set_remove`, `set_contains`, `set_size`, `set_elements`, `set_union`, `set_intersection`, `set_difference`, `set_fold`, `list_fold`, `iterate`, `iterate_until`, `graph_successors`, `graph_reachable`, and `graph_topological`, under the collection rules below. | @@ -2689,12 +2691,13 @@ either backend runs; they do not defer to what Lean would accept. so no part of a data declaration is free; language-1.1 modules keep their historical count. 10. **Binder hygiene.** The backend refers to the module's own declarations, - to the built-in names it emits (`And`, `Bool`, `ByteArray`, `Except`, - `Iff`, `Int`, `Int8`..`Int64`, `LexLeanCollections`, `LexLeanModels`, - `LexLeanReasoning`, `LexLeanRuntime`, `List`, `Nat`, `Option`, - `Ordering`, `Prod`, `Prop`, `Result`, `String`, `Type`, - `UInt8`..`UInt64`, `Unit`, `and_congr`, `and_true`, `congr`, `decide`, - `false`, `id`, `rfl`, `true`, `true_and`), and to every imported declaration through + to the built-in names it emits (`And`, `BitVec`, `Bool`, `ByteArray`, + `Except`, `Iff`, `Int`, `Int8`..`Int64`, `LexLeanCollections`, + `LexLeanLaws`, `LexLeanModels`, `LexLeanReasoning`, `LexLeanRuntime`, + `List`, `Nat`, `Option`, `Ordering`, `Prod`, `Prop`, `Result`, `String`, + `Type`, `UInt8`..`UInt64`, `Unit`, `and_congr`, `and_true`, `beq_iff_eq`, + `congr`, `decide`, `decide_eq_false_iff_not`, `decide_eq_true_eq`, + `false`, `id`, `reduceIte`, `rfl`, `true`, `true_and`), and to every imported declaration through the project's module prefix, all without qualification. In a `lexlean/semantic-module/2` module no binder (a type parameter, a value parameter, or a pattern, `let`, quantifier, lambda, or proof binder) is @@ -3012,7 +3015,7 @@ Termination evidence is semantic data, never tactic or backend text; no 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 +of the backend: five 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: @@ -3021,18 +3024,22 @@ 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 +of the reasoning rules; it imports the first two), and `LexLeanRuntime.Laws` +(namespace `LexLeanLaws`, *Fold laws* below; 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 +model declaration, `Reasoning` when it has a reasoning declaration, and +`Laws` when it has a `linear_arithmetic` or `law` proof; 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 +(§22.3–§22.6, `RT-03`). The first four runtime modules were migrated once, +losslessly, from the texts the backend spliced, with the equivalence evidence +in `tests/runtime-library/MIGRATION.md`; `Laws` was exported once from Lean, +with its evidence in `tests/runtime-library/LAWS.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 @@ -3047,6 +3054,59 @@ 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. +#### Fold laws (language 1.2) + +A program equality over all inputs (two folds that compute one value, an +integer kernel that is monotone or bounded) is proved by `linear_arithmetic` +or by `law`, and the facts both use are LexLean source, never assumed. These +rules are LexLean's own; the diagnostic each linking failure raises is +`LLT4001`, and a statement Lean does not accept is `LLV7002`. + +1. **The laws module.** `LexLeanRuntime.Laws` is a native runtime module + (*Runtime modules* above) importing `Portable` and `Collections`. It + declares, in the namespace `LexLeanLaws`, the sum of a function over a + list (`sumNat`, `sumInt`), the bridges from the runtime to propositions, + and the laws below, each row pinning its exact axioms. It was exported + once from Lean and its regenerated environment checked against the + committed source declaration by declaration + (`tests/runtime-library/LAWS.md`). +2. **The registry.** `language/runtime-1.2/laws.toml` (tag + `lexlean/runtime-laws/1`) names what the compiler uses of the module: + the ordered rewrite set of `linear_arithmetic`, and the laws a `law` + proof applies, each with its explicit type parameters, its parameter + types in the semantic schema, and its number of premises. It states no + law. The runtime build refuses a registry that names a declaration the + module does not have or registers a law twice. +3. **Bridges.** `less_than` on `Nat`, `Int`, and every fixed-width type is + `decide` of the order of mathematical values; `quotient` and `remainder` + on `Nat` and `Int` are an `if` on a zero divisor around `/` and `%`, or + `Int.tdiv` and `Int.tmod`, which are rewritten to Euclidean division and + remainder with a sign case; `length` and `append` of a list are + `List.length` and `++`; `set_fold`, `map_fold`, `set_size`, `map_size`, + `set_elements`, and `map_entries` are the list operations on the + canonical list they are, a map's fold being the fold of its entries. +4. **Additive folds.** A fold whose step adds (or, over `Int`, subtracts) + what each element contributes is its initial value plus (minus) the sum + of the contributions; the sum is linear in the contribution (sums, + differences, negation, and a constant factor on either side), a constant + contribution sums to the constant times the length, and the sum of an + appended list is the sum of the parts. The fold that conses every element + onto its state is the reverse of the list onto it, and the fold that + appends every element is the list after the state. A sum is invariant + under every permutation of the list (`sumNat_perm`, `sumInt_perm`), and + in particular under reverse. With these rewrites the equality of two + additive folds over all lists, sets, or maps is linear over the sums of + the contributions, which `omega` decides. +5. **Applied laws.** `list_fold_fusion`: a function `h` that commutes with + the steps, as a prior theorem states for all states and elements, carries + the fold of one step to the fold of the other, `h (list_fold f z xs) = + list_fold g (h z) xs`. `list_fold_pair`: two folds over one list are one + fold over the pair of their states. `list_fold_append`: a fold over an + appended list continues the fold of the first part. +6. **Closed instances.** `decide` evaluates a closed statement and does not + decide one with a free variable, so a statement over all inputs is proved + by the laws and `omega`, never by enumerating inputs. + #### Models, contracts, realizations, and evidence (language 1.2) A model is a contract bound to a realization of the same interface, with @@ -9040,6 +9100,10 @@ Every row below is normative, has honesty level `build`, and MUST be copied byte | `PF-17` | `proofs` | native_decide is never accepted or generated. | §16.12, §18.2 | | `PF-18` | `proofs` | Lean proof failures remap to the smallest originating LexLean proof or statement span. | §20.4 | | `PF-19` | `proofs` | The language-1.2 linear_arithmetic proof form names only the prior document definitions it unfolds, lowers to one fixed omega script, proves true linear obligations, and is refused by Lean on a false one. | §17.12, §16 | +| `PF-20` | `proofs` | Under language 1.2 the order propositions <= and < take two operands of one integer type, Nat, Int, or one fixed-width type, and lower to Lean's order on that type; language 1.1 keeps them over Nat only. | §17.12 | +| `PF-21` | `proofs` | The language-1.2 linear_arithmetic proof form reads the runtime: it rewrites less_than, equal, negate, quotient, remainder, and fixed-width order and equality into linear arithmetic over mathematical values, splits every if and match left in the goal, proves integer kernels for all inputs, and is refused by Lean on a false one. | §17.12, §16 | +| `PF-22` | `proofs` | The runtime module LexLeanRuntime.Laws states the fold laws as LexLean source with every row's axioms pinned, and linear_arithmetic rewrites additive list, set, and map folds into sums that are linear and invariant under append and reverse, so fold equalities verify for all inputs with decide only on closed instances. | §17.12, §22.6 | +| `PF-23` | `proofs` | The language-1.2 law proof form applies one registered fold law (fusion, the fold of a pair, or the fold of an append) to checked type arguments, arguments, and prior theorems discharging its premises, and is refused in linking for an unregistered law, a wrong argument count or type, or a missing premise, and by Lean for a statement the law does not prove. | §17.12, §16 | | `LN-01` | `lean-backend` | Each generated Lean file has the exact module, import, option, namespace, declaration, and end structure. | §18.1 | | `LN-02` | `lean-backend` | Imports are explicit, deduplicated, sorted, and every external global is fully qualified. | §18.3 | | `LN-03` | `lean-backend` | Generated Lean contains no comments, documentation, prose-bearing strings, or copied source prose. | §18.2 | @@ -9281,7 +9345,7 @@ Every row below is normative, has honesty level `build`, and MUST be copied byte | `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 whose constants it names and declares nothing under a runtime namespace, and the only Lean runtime text in the compiler's source outside unit-test items, in one string literal or in several written together, is the decoder of core module 2, which loads native modules and so cannot be one; a runtime text planted in any of its shapes, raw or escaped, with or without a namespace line, split across literals, or after a test module, is found. | §17.12, §18.1 | -**Total required capability IDs:** 387. +**Total required capability IDs:** 391. 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 84913c5ec..a0d3130c8 100644 --- a/VERIFICATION.md +++ b/VERIFICATION.md @@ -1254,6 +1254,64 @@ What was not run on the development host: the verification of its records do not depend on this change and CI reverifies them) and `conformance_vr_19`. The CI legs run both. +### the fold laws can fail + +Integer order, `linear_arithmetic` over the runtime, the fold laws, and the +`law` form (#117, `PF-20`..`PF-23`). Each defect was planted in the working +tree, the case named was run with `cargo test -p repo-conformance +--all-features --test conformance -- ` (Linux x86-64, pinned Lean +4.32.1), and the plant was reverted. Each case passes on the reverted tree. + +Planted (a): order typed over `Nat` only under language 1.2 (the Int and +fixed-width arm of `le`/`lt` disabled). `conformance_pf_20`: the committed +corpus no longer links. + +```text +check succeeds: LexLeanError { ... code: DiagnosticCode("LLT4001"), message: "phase link: order left operand has type Int, expected Nat", primary: Some(Span { path: "src/Kernels.lex.tex", ... }) ... } +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 389 filtered out +``` + +Planted (b): the script without `all_goals (repeat' split)`. +`conformance_pf_21` refuses the rendered script (`the fixed script with the +unfolded definition`). The same compiler run by `lexlean verify` on a copy of +`examples/fold-laws` shows what the split is for: Lean refuses the first +kernel whose zero-divisor `if` is left unsplit, with +`error[LLV7002]: Lean rejected FoldLaws.Kernels (error): omega could not +prove the goal` at `src/Kernels.lex.tex:79` (`halving_shrinks`). + +Planted (c): the backend leaves out one registered rewrite +(`LexLeanLaws.listFold_add_nat_self`) from the script. `conformance_pf_22`, +whose expected script is read from the committed registry rather than from +the compiler, refuses the rendered Lean of `doubled_total` +(`proofs.rs:1087`). + +Planted (d): the rewrite removed from `language/runtime-1.2/laws.toml` +itself. The registry is language data hashed into the language-1.2 +compiler-semantics ID (§21.2), so `conformance_pf_22` fails before any +backend runs, on the identity: `LLC0102: lexlean.lock is stale or +noncanonical` (`the compiler semantics changed since locking`). A registry +that names a declaration the module lacks, or registers a law twice, and a +laws row that only bounds its axioms are refused by the runtime build. Those +three are plants the case makes itself, each asserted by its message. + +Planted (e): the argument types of a `law` application unchecked. +`conformance_pf_23`: the copy that passes `true` for a `Nat` argument links +(`check fails` is not met). + +```text +thread 'conformance_pf_23' panicked at crates/conformance/src/support.rs:619:14: +check fails +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 389 filtered out +``` + +The false statements are refused by Lean in every run of the cases, not only +when planted. `conformance_pf_21` refuses a clamp bound one too small, a +quotient identity without the remainder's sign, and a fixed-width order one +past its literal. `conformance_pf_22` refuses a doubled fold equated to a sum +and a count, the reverse's sum equated to a count, and a map's entries summed +as its keys twice. `conformance_pf_23` refuses the pair law applied to a +swapped statement. Each assertion names exactly the refused theorems. + ### a list of any length is a term Lean elaborates without binders Lean's `[…]` macro writes a literal of more than 32 elements under `let` diff --git a/compiler/expected/build/coverage/LexLeanTarget/BudgetOracle.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/BudgetOracle.coverage.json index 2cbdfa84f..6b582c39a 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":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"} +{"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":361,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":504,"byte_start":361,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":585,"byte_start":504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":586,"byte_start":585,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3695,"byte_start":586,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6833,"byte_start":3695,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8270,"byte_start":6833,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11412,"byte_start":8270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14583,"byte_start":11412,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16253,"byte_start":14583,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16340,"byte_start":16253,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16431,"byte_start":16340,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19498,"byte_start":16431,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19703,"byte_start":19498,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22769,"byte_start":19703,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44710,"byte_start":22769,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63942,"byte_start":44710,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63974,"byte_start":63942,"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/GradeOracle.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/GradeOracle.coverage.json index d2f0b3359..6bdd616a8 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":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"} +{"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":404,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":580,"byte_start":404,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":772,"byte_start":580,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3946,"byte_start":772,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4124,"byte_start":3946,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4480,"byte_start":4124,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4836,"byte_start":4480,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5191,"byte_start":4836,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8521,"byte_start":5191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12050,"byte_start":8521,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15351,"byte_start":12050,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44774,"byte_start":15351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44805,"byte_start":44774,"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 4e965e525..244954c25 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":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"} +{"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":362,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":493,"byte_start":362,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":597,"byte_start":493,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3664,"byte_start":597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3847,"byte_start":3664,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6929,"byte_start":3847,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7795,"byte_start":6929,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10878,"byte_start":7795,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11754,"byte_start":10878,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14926,"byte_start":11754,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16045,"byte_start":14926,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16172,"byte_start":16045,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16312,"byte_start":16172,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19407,"byte_start":16312,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19600,"byte_start":19407,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22603,"byte_start":19600,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53421,"byte_start":22603,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53506,"byte_start":53421,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53594,"byte_start":53506,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56664,"byte_start":53594,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56849,"byte_start":56664,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56933,"byte_start":56849,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57020,"byte_start":56933,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60085,"byte_start":57020,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60269,"byte_start":60085,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63381,"byte_start":60269,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63519,"byte_start":63381,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66534,"byte_start":63519,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69645,"byte_start":66534,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72773,"byte_start":69645,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75865,"byte_start":72773,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107360,"byte_start":75865,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":139950,"byte_start":107360,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":171694,"byte_start":139950,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":171727,"byte_start":171694,"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 5c730dc81..12a09e6ab 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":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"} +{"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":364,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":511,"byte_start":364,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":688,"byte_start":511,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":776,"byte_start":688,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":864,"byte_start":776,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":957,"byte_start":864,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1045,"byte_start":957,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1132,"byte_start":1045,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1220,"byte_start":1132,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1309,"byte_start":1220,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1403,"byte_start":1309,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1492,"byte_start":1403,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1580,"byte_start":1492,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1788,"byte_start":1580,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3265,"byte_start":1788,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3519,"byte_start":3265,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3999,"byte_start":3519,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7147,"byte_start":3999,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7358,"byte_start":7147,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10779,"byte_start":7358,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14173,"byte_start":10779,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16050,"byte_start":14173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19480,"byte_start":16050,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22883,"byte_start":19480,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24853,"byte_start":22883,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28280,"byte_start":24853,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31680,"byte_start":28280,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33619,"byte_start":31680,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37049,"byte_start":33619,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40452,"byte_start":37049,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42436,"byte_start":40452,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45919,"byte_start":42436,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49375,"byte_start":45919,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51270,"byte_start":49375,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54739,"byte_start":51270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58181,"byte_start":54739,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60090,"byte_start":58181,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63546,"byte_start":60090,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66975,"byte_start":63546,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68887,"byte_start":66975,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72484,"byte_start":68887,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76054,"byte_start":72484,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78119,"byte_start":76054,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78301,"byte_start":78119,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78515,"byte_start":78301,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81722,"byte_start":78515,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84932,"byte_start":81722,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85376,"byte_start":84932,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85462,"byte_start":85376,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85551,"byte_start":85462,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88626,"byte_start":85551,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88831,"byte_start":88626,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91992,"byte_start":88831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95151,"byte_start":91992,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":124244,"byte_start":95151,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":150995,"byte_start":124244,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151030,"byte_start":150995,"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/ScreeningOracle.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/ScreeningOracle.coverage.json index 77f09c8ea..599b857b1 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":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"} +{"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":400,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":526,"byte_start":400,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":655,"byte_start":526,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3724,"byte_start":655,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3926,"byte_start":3724,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4191,"byte_start":3926,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4310,"byte_start":4191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4462,"byte_start":4310,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4463,"byte_start":4462,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7559,"byte_start":4463,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9004,"byte_start":7559,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9087,"byte_start":9004,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9173,"byte_start":9087,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12218,"byte_start":9173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12405,"byte_start":12218,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21447,"byte_start":12405,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45902,"byte_start":21447,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45937,"byte_start":45902,"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/manifest.json b/compiler/expected/build/manifest.json index 30da6eb46..5dcdc6d62 100644 --- a/compiler/expected/build/manifest.json +++ b/compiler/expected/build/manifest.json @@ -1 +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"} +{"build_id":"07662e2ffaa9df663e067ea84a21a9ccf9d1b20ba144027ff31d17c6e7f13e48","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"270f2c6ff35d868668fb3776378e16d1ace02d275e9b5cc9802190a1d457401b"},{"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":11181,"kind":"coverage","path":"coverage/LexLeanTarget/BudgetOracle.coverage.json","sha256":"4c38c35c5f0cf117c7cfc0139ea1d78d74ba3687f38e2b90783bb5b92b6cd064"},{"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":10429,"kind":"coverage","path":"coverage/LexLeanTarget/GradeOracle.coverage.json","sha256":"394cf22f3967a4e544cb42caf7005a4c557bd63b56c465d58ad251179d555fc2"},{"byte_length":16662,"kind":"coverage","path":"coverage/LexLeanTarget/Main.coverage.json","sha256":"ac5e6c5061f44d9d2708be6a63546834eba79fecbb2230b0e3458c5af3c43989"},{"byte_length":15869,"kind":"coverage","path":"coverage/LexLeanTarget/PlannerOracle.coverage.json","sha256":"68fa5c011e011d56e6d0273084d5af91f1783d733ee710eab3a25b1a7cb4b391"},{"byte_length":34095,"kind":"coverage","path":"coverage/LexLeanTarget/ReasoningFixtures.coverage.json","sha256":"12c71e696f141058f795f256a1b658b73cbe5523fc418807ee163e4a8100b901"},{"byte_length":21934,"kind":"coverage","path":"coverage/LexLeanTarget/ReasoningOracle.coverage.json","sha256":"c4e1e0cc85511589d275588b731d2c0dea9ed3f9ad7f3a6dfb3804175767ed73"},{"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":11293,"kind":"coverage","path":"coverage/LexLeanTarget/ScreeningOracle.coverage.json","sha256":"05a35bfd9204fc4711116a6323cfb3f9ce195f93a03523af68705039d8bbb068"},{"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":63974,"kind":"lean","path":"modules/LexLeanTarget/BudgetOracle.lean","sha256":"33061e2080b80d31a3042e667c3f7ab7090051efcf5e67d5f0b4c384b1699cff"},{"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":44805,"kind":"lean","path":"modules/LexLeanTarget/GradeOracle.lean","sha256":"ea724bef2e4aafca56bc03452d8da8935c360841481997fc9b04bec7d205719f"},{"byte_length":1128,"kind":"lean","path":"modules/LexLeanTarget/Main.lean","sha256":"cb359700a417929e8ff9dbb35fd9ff41f0eda211b7c36009d7b7e92d7baeff13"},{"byte_length":171727,"kind":"lean","path":"modules/LexLeanTarget/PlannerOracle.lean","sha256":"a1590a1076cfca401cb1bfb72ca5b07363752f56ab4eae07f147d16b6d8e145c"},{"byte_length":896707,"kind":"lean","path":"modules/LexLeanTarget/ReasoningFixtures.lean","sha256":"cccf75a8f6c6d61da06a30177ab5001ec36132d16ee916d46c6d102d781a8d20"},{"byte_length":151030,"kind":"lean","path":"modules/LexLeanTarget/ReasoningOracle.lean","sha256":"ac78fb8128e5b859ed9b00bcfebdd57db1db0e3a1b9b95c54e92f6ecb77e17c1"},{"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":45937,"kind":"lean","path":"modules/LexLeanTarget/ScreeningOracle.lean","sha256":"6e65882bc5d2591f8b4da728f510478a6aa621d92e718ab918cbec4c5327f368"},{"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":6212,"kind":"map","path":"maps/LexLeanTarget/BudgetOracle.map.json","sha256":"7ec998c3a64162fa2f6a79f4c249922ec8a88d5816af2f1cef10c693a584b5d0"},{"byte_length":24054,"kind":"map","path":"maps/LexLeanTarget/Certification.map.json","sha256":"fd8c42bc2315a0ab814c0fbf412b1bc4e3c227f786520ebd53ca2713e8accf69"},{"byte_length":51466,"kind":"map","path":"maps/LexLeanTarget/Gnaf.map.json","sha256":"beac7ac0ac0b175ee138ebdf6ecc20f9deb3d2833053048e42d4c43b4fb02e3a"},{"byte_length":58783,"kind":"map","path":"maps/LexLeanTarget/GnafCertificates.map.json","sha256":"56aa59a76b7f20a28973d7f3c4790771315bbf50ea63c5280229550ec59ae3e8"},{"byte_length":72111,"kind":"map","path":"maps/LexLeanTarget/GnafFixtures.map.json","sha256":"c9cb34b32b79141a01a139fe633fd660334b0e96e2322e1a8612d43cfa9565b0"},{"byte_length":4588,"kind":"map","path":"maps/LexLeanTarget/GradeOracle.map.json","sha256":"ce445258b16f5be1598ebf97d33614b49d7a213012385d18b326f3a47e79f396"},{"byte_length":1352,"kind":"map","path":"maps/LexLeanTarget/Main.map.json","sha256":"0ce4f37129f82a1ba6052d22d51654ad090999fcd6a085e0f15b834c65d8ef78"},{"byte_length":11761,"kind":"map","path":"maps/LexLeanTarget/PlannerOracle.map.json","sha256":"2188b37134c9c1e8ffc679709d5f5edf9381f9a7f647e02130d7e57dd642018c"},{"byte_length":28320,"kind":"map","path":"maps/LexLeanTarget/ReasoningFixtures.map.json","sha256":"40bbf0e456154dbb145cc03be3b445dd05dd3094b587f3c2bb877d3acc2072fd"},{"byte_length":19059,"kind":"map","path":"maps/LexLeanTarget/ReasoningOracle.map.json","sha256":"fc9e1664b433f8362844648f3eac8a328f990c60b4e37b8ce01f05439e057a67"},{"byte_length":13888,"kind":"map","path":"maps/LexLeanTarget/RustSemantics.map.json","sha256":"f074d212ee6b5bb6585ddbdd6a382445fc64403a59ccf60e8453c404aa22d384"},{"byte_length":7165,"kind":"map","path":"maps/LexLeanTarget/RustSyntax.map.json","sha256":"47278ece32c47d239d1cf5fdda8e409d20fbe19b646bdc8e6a256e24deba9597"},{"byte_length":6214,"kind":"map","path":"maps/LexLeanTarget/ScreeningOracle.map.json","sha256":"8f7761c4bfa33ee92c176d8367b274de3193576168778ea45d4658708b21e32e"},{"byte_length":114575,"kind":"map","path":"maps/LexLeanTarget/TargetFixtures.map.json","sha256":"14790fa6310435c79cd5c238ec2b8c1def30af56ccae0e4694aa5d67be384dc0"},{"byte_length":3299,"kind":"map","path":"maps/LexLeanTarget/TargetOracle.map.json","sha256":"fddf9b3246472599b4fd6dc311db2672c06cb3065da745e15526f7fe703b67c4"},{"byte_length":13138,"kind":"map","path":"maps/LexLeanTarget/TargetSemantics.map.json","sha256":"838ce2df7f4f25f96d992013d9ec515386487a15651c3aa50d4e58b42ddc14a2"},{"byte_length":4584,"kind":"map","path":"maps/LexLeanTarget/TargetSyntax.map.json","sha256":"c1f01446dd2ada3e62424d3b1746d3e73c1ac0740a91e287ee736b98c03cd850"},{"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 7d7c6145a..df446f764 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/BudgetOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/BudgetOracle.tex"}],"mappings":[{"artifact":0,"gen_end":361,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4612,"src_start":0},{"artifact":0,"gen_end":504,"gen_start":361,"node":1,"role":"declaration","source":0,"src_end":300,"src_start":121},{"artifact":0,"gen_end":585,"gen_start":504,"node":2,"role":"declaration","source":0,"src_end":424,"src_start":302},{"artifact":0,"gen_end":586,"gen_start":585,"node":3,"role":"declaration","source":0,"src_end":564,"src_start":426},{"artifact":0,"gen_end":3695,"gen_start":586,"node":4,"role":"declaration","source":0,"src_end":843,"src_start":566},{"artifact":0,"gen_end":6833,"gen_start":3695,"node":5,"role":"declaration","source":0,"src_end":1154,"src_start":845},{"artifact":0,"gen_end":8270,"gen_start":6833,"node":6,"role":"declaration","source":0,"src_end":1458,"src_start":1156},{"artifact":0,"gen_end":11412,"gen_start":8270,"node":7,"role":"declaration","source":0,"src_end":1761,"src_start":1460},{"artifact":0,"gen_end":14583,"gen_start":11412,"node":8,"role":"declaration","source":0,"src_end":2096,"src_start":1763},{"artifact":0,"gen_end":16253,"gen_start":14583,"node":9,"role":"declaration","source":0,"src_end":2489,"src_start":2098},{"artifact":0,"gen_end":16340,"gen_start":16253,"node":10,"role":"declaration","source":0,"src_end":2608,"src_start":2491},{"artifact":0,"gen_end":16431,"gen_start":16340,"node":11,"role":"declaration","source":0,"src_end":2753,"src_start":2610},{"artifact":0,"gen_end":19498,"gen_start":16431,"node":12,"role":"declaration","source":0,"src_end":2992,"src_start":2755},{"artifact":0,"gen_end":19703,"gen_start":19498,"node":13,"role":"declaration","source":0,"src_end":3200,"src_start":2994},{"artifact":0,"gen_end":22769,"gen_start":19703,"node":14,"role":"declaration","source":0,"src_end":3461,"src_start":3202},{"artifact":0,"gen_end":44710,"gen_start":22769,"node":15,"role":"declaration","source":0,"src_end":4034,"src_start":3463},{"artifact":0,"gen_end":63942,"gen_start":44710,"node":16,"role":"declaration","source":0,"src_end":4576,"src_start":4036},{"artifact":0,"gen_end":63974,"gen_start":63942,"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 c2e3c7add..5412f9d47 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":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"} +{"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 c9205f991..bb0d43770 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":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"} +{"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 84bb55494..f2c3aab5e 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":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 39e7444d3..6f17741b8 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":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 282e0122c..00396b46c 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/GradeOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/GradeOracle.tex"}],"mappings":[{"artifact":0,"gen_end":404,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":5030,"src_start":0},{"artifact":0,"gen_end":580,"gen_start":404,"node":1,"role":"declaration","source":0,"src_end":318,"src_start":151},{"artifact":0,"gen_end":772,"gen_start":580,"node":2,"role":"declaration","source":0,"src_end":520,"src_start":320},{"artifact":0,"gen_end":3946,"gen_start":772,"node":3,"role":"declaration","source":0,"src_end":849,"src_start":522},{"artifact":0,"gen_end":4124,"gen_start":3946,"node":4,"role":"declaration","source":0,"src_end":1085,"src_start":851},{"artifact":0,"gen_end":4480,"gen_start":4124,"node":5,"role":"declaration","source":0,"src_end":1498,"src_start":1087},{"artifact":0,"gen_end":4836,"gen_start":4480,"node":6,"role":"declaration","source":0,"src_end":1893,"src_start":1500},{"artifact":0,"gen_end":5191,"gen_start":4836,"node":7,"role":"declaration","source":0,"src_end":2242,"src_start":1895},{"artifact":0,"gen_end":8521,"gen_start":5191,"node":8,"role":"declaration","source":0,"src_end":2737,"src_start":2244},{"artifact":0,"gen_end":12050,"gen_start":8521,"node":9,"role":"declaration","source":0,"src_end":3361,"src_start":2739},{"artifact":0,"gen_end":15351,"gen_start":12050,"node":10,"role":"declaration","source":0,"src_end":3856,"src_start":3363},{"artifact":0,"gen_end":44774,"gen_start":15351,"node":11,"role":"declaration","source":0,"src_end":4994,"src_start":3858},{"artifact":0,"gen_end":44805,"gen_start":44774,"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 40a57f7bb..e03d206d7 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":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 3cdaec063..717bb8f1a 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/PlannerOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/PlannerOracle.tex"}],"mappings":[{"artifact":0,"gen_end":362,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8685,"src_start":0},{"artifact":0,"gen_end":493,"gen_start":362,"node":1,"role":"declaration","source":0,"src_end":264,"src_start":122},{"artifact":0,"gen_end":597,"gen_start":493,"node":2,"role":"declaration","source":0,"src_end":390,"src_start":266},{"artifact":0,"gen_end":3664,"gen_start":597,"node":3,"role":"declaration","source":0,"src_end":580,"src_start":392},{"artifact":0,"gen_end":3847,"gen_start":3664,"node":4,"role":"declaration","source":0,"src_end":727,"src_start":582},{"artifact":0,"gen_end":6929,"gen_start":3847,"node":5,"role":"declaration","source":0,"src_end":988,"src_start":729},{"artifact":0,"gen_end":7795,"gen_start":6929,"node":6,"role":"declaration","source":0,"src_end":1228,"src_start":990},{"artifact":0,"gen_end":10878,"gen_start":7795,"node":7,"role":"declaration","source":0,"src_end":1489,"src_start":1230},{"artifact":0,"gen_end":11754,"gen_start":10878,"node":8,"role":"declaration","source":0,"src_end":1730,"src_start":1491},{"artifact":0,"gen_end":14926,"gen_start":11754,"node":9,"role":"declaration","source":0,"src_end":2067,"src_start":1732},{"artifact":0,"gen_end":16045,"gen_start":14926,"node":10,"role":"declaration","source":0,"src_end":2456,"src_start":2069},{"artifact":0,"gen_end":16172,"gen_start":16045,"node":11,"role":"declaration","source":0,"src_end":2604,"src_start":2458},{"artifact":0,"gen_end":16312,"gen_start":16172,"node":12,"role":"declaration","source":0,"src_end":2779,"src_start":2606},{"artifact":0,"gen_end":19407,"gen_start":16312,"node":13,"role":"declaration","source":0,"src_end":3023,"src_start":2781},{"artifact":0,"gen_end":19600,"gen_start":19407,"node":14,"role":"declaration","source":0,"src_end":3231,"src_start":3025},{"artifact":0,"gen_end":22603,"gen_start":19600,"node":15,"role":"declaration","source":0,"src_end":3424,"src_start":3233},{"artifact":0,"gen_end":53421,"gen_start":22603,"node":16,"role":"declaration","source":0,"src_end":3997,"src_start":3426},{"artifact":0,"gen_end":53506,"gen_start":53421,"node":17,"role":"declaration","source":0,"src_end":4090,"src_start":3999},{"artifact":0,"gen_end":53594,"gen_start":53506,"node":18,"role":"declaration","source":0,"src_end":4219,"src_start":4092},{"artifact":0,"gen_end":56664,"gen_start":53594,"node":19,"role":"declaration","source":0,"src_end":4445,"src_start":4221},{"artifact":0,"gen_end":56849,"gen_start":56664,"node":20,"role":"declaration","source":0,"src_end":4637,"src_start":4447},{"artifact":0,"gen_end":56933,"gen_start":56849,"node":21,"role":"declaration","source":0,"src_end":4729,"src_start":4639},{"artifact":0,"gen_end":57020,"gen_start":56933,"node":22,"role":"declaration","source":0,"src_end":4857,"src_start":4731},{"artifact":0,"gen_end":60085,"gen_start":57020,"node":23,"role":"declaration","source":0,"src_end":5078,"src_start":4859},{"artifact":0,"gen_end":60269,"gen_start":60085,"node":24,"role":"declaration","source":0,"src_end":5269,"src_start":5080},{"artifact":0,"gen_end":63381,"gen_start":60269,"node":25,"role":"declaration","source":0,"src_end":5569,"src_start":5271},{"artifact":0,"gen_end":63519,"gen_start":63381,"node":26,"role":"declaration","source":0,"src_end":5723,"src_start":5571},{"artifact":0,"gen_end":66534,"gen_start":63519,"node":27,"role":"declaration","source":0,"src_end":5927,"src_start":5725},{"artifact":0,"gen_end":69645,"gen_start":66534,"node":28,"role":"declaration","source":0,"src_end":6207,"src_start":5929},{"artifact":0,"gen_end":72773,"gen_start":69645,"node":29,"role":"declaration","source":0,"src_end":6521,"src_start":6209},{"artifact":0,"gen_end":75865,"gen_start":72773,"node":30,"role":"declaration","source":0,"src_end":6801,"src_start":6523},{"artifact":0,"gen_end":107360,"gen_start":75865,"node":31,"role":"declaration","source":0,"src_end":7410,"src_start":6803},{"artifact":0,"gen_end":139950,"gen_start":107360,"node":32,"role":"declaration","source":0,"src_end":8079,"src_start":7412},{"artifact":0,"gen_end":171694,"gen_start":139950,"node":33,"role":"declaration","source":0,"src_end":8649,"src_start":8081},{"artifact":0,"gen_end":171727,"gen_start":171694,"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 747940b3f..d2707b925 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":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 55346a017..7bb5f4cbd 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/ReasoningOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/ReasoningOracle.tex"}],"mappings":[{"artifact":0,"gen_end":364,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":27419,"src_start":0},{"artifact":0,"gen_end":511,"gen_start":364,"node":1,"role":"declaration","source":0,"src_end":420,"src_start":124},{"artifact":0,"gen_end":688,"gen_start":511,"node":2,"role":"declaration","source":0,"src_end":796,"src_start":422},{"artifact":0,"gen_end":776,"gen_start":688,"node":3,"role":"declaration","source":0,"src_end":934,"src_start":798},{"artifact":0,"gen_end":864,"gen_start":776,"node":4,"role":"declaration","source":0,"src_end":1072,"src_start":936},{"artifact":0,"gen_end":957,"gen_start":864,"node":5,"role":"declaration","source":0,"src_end":1215,"src_start":1074},{"artifact":0,"gen_end":1045,"gen_start":957,"node":6,"role":"declaration","source":0,"src_end":1353,"src_start":1217},{"artifact":0,"gen_end":1132,"gen_start":1045,"node":7,"role":"declaration","source":0,"src_end":1490,"src_start":1355},{"artifact":0,"gen_end":1220,"gen_start":1132,"node":8,"role":"declaration","source":0,"src_end":1606,"src_start":1492},{"artifact":0,"gen_end":1309,"gen_start":1220,"node":9,"role":"declaration","source":0,"src_end":1723,"src_start":1608},{"artifact":0,"gen_end":1403,"gen_start":1309,"node":10,"role":"declaration","source":0,"src_end":1845,"src_start":1725},{"artifact":0,"gen_end":1492,"gen_start":1403,"node":11,"role":"declaration","source":0,"src_end":1962,"src_start":1847},{"artifact":0,"gen_end":1580,"gen_start":1492,"node":12,"role":"declaration","source":0,"src_end":2078,"src_start":1964},{"artifact":0,"gen_end":1788,"gen_start":1580,"node":13,"role":"declaration","source":0,"src_end":2362,"src_start":2080},{"artifact":0,"gen_end":3265,"gen_start":1788,"node":14,"role":"declaration","source":0,"src_end":4482,"src_start":2364},{"artifact":0,"gen_end":3519,"gen_start":3265,"node":15,"role":"declaration","source":0,"src_end":4820,"src_start":4484},{"artifact":0,"gen_end":3999,"gen_start":3519,"node":16,"role":"declaration","source":0,"src_end":5283,"src_start":4822},{"artifact":0,"gen_end":7147,"gen_start":3999,"node":17,"role":"declaration","source":0,"src_end":5681,"src_start":5285},{"artifact":0,"gen_end":7358,"gen_start":7147,"node":18,"role":"declaration","source":0,"src_end":5915,"src_start":5683},{"artifact":0,"gen_end":10779,"gen_start":7358,"node":19,"role":"declaration","source":0,"src_end":6685,"src_start":5917},{"artifact":0,"gen_end":14173,"gen_start":10779,"node":20,"role":"declaration","source":0,"src_end":7334,"src_start":6687},{"artifact":0,"gen_end":16050,"gen_start":14173,"node":21,"role":"declaration","source":0,"src_end":7894,"src_start":7336},{"artifact":0,"gen_end":19480,"gen_start":16050,"node":22,"role":"declaration","source":0,"src_end":8673,"src_start":7896},{"artifact":0,"gen_end":22883,"gen_start":19480,"node":23,"role":"declaration","source":0,"src_end":9331,"src_start":8675},{"artifact":0,"gen_end":24853,"gen_start":22883,"node":24,"role":"declaration","source":0,"src_end":9912,"src_start":9333},{"artifact":0,"gen_end":28280,"gen_start":24853,"node":25,"role":"declaration","source":0,"src_end":10688,"src_start":9914},{"artifact":0,"gen_end":31680,"gen_start":28280,"node":26,"role":"declaration","source":0,"src_end":11343,"src_start":10690},{"artifact":0,"gen_end":33619,"gen_start":31680,"node":27,"role":"declaration","source":0,"src_end":11917,"src_start":11345},{"artifact":0,"gen_end":37049,"gen_start":33619,"node":28,"role":"declaration","source":0,"src_end":12696,"src_start":11919},{"artifact":0,"gen_end":40452,"gen_start":37049,"node":29,"role":"declaration","source":0,"src_end":13354,"src_start":12698},{"artifact":0,"gen_end":42436,"gen_start":40452,"node":30,"role":"declaration","source":0,"src_end":13937,"src_start":13356},{"artifact":0,"gen_end":45919,"gen_start":42436,"node":31,"role":"declaration","source":0,"src_end":14785,"src_start":13939},{"artifact":0,"gen_end":49375,"gen_start":45919,"node":32,"role":"declaration","source":0,"src_end":15512,"src_start":14787},{"artifact":0,"gen_end":51270,"gen_start":49375,"node":33,"role":"declaration","source":0,"src_end":16148,"src_start":15514},{"artifact":0,"gen_end":54739,"gen_start":51270,"node":34,"role":"declaration","source":0,"src_end":16964,"src_start":16150},{"artifact":0,"gen_end":58181,"gen_start":54739,"node":35,"role":"declaration","source":0,"src_end":17659,"src_start":16966},{"artifact":0,"gen_end":60090,"gen_start":58181,"node":36,"role":"declaration","source":0,"src_end":18267,"src_start":17661},{"artifact":0,"gen_end":63546,"gen_start":60090,"node":37,"role":"declaration","source":0,"src_end":19071,"src_start":18269},{"artifact":0,"gen_end":66975,"gen_start":63546,"node":38,"role":"declaration","source":0,"src_end":19754,"src_start":19073},{"artifact":0,"gen_end":68887,"gen_start":66975,"node":39,"role":"declaration","source":0,"src_end":20348,"src_start":19756},{"artifact":0,"gen_end":72484,"gen_start":68887,"node":40,"role":"declaration","source":0,"src_end":21288,"src_start":20350},{"artifact":0,"gen_end":76054,"gen_start":72484,"node":41,"role":"declaration","source":0,"src_end":22107,"src_start":21290},{"artifact":0,"gen_end":78119,"gen_start":76054,"node":42,"role":"declaration","source":0,"src_end":22843,"src_start":22109},{"artifact":0,"gen_end":78301,"gen_start":78119,"node":43,"role":"declaration","source":0,"src_end":23052,"src_start":22845},{"artifact":0,"gen_end":78515,"gen_start":78301,"node":44,"role":"declaration","source":0,"src_end":23301,"src_start":23054},{"artifact":0,"gen_end":81722,"gen_start":78515,"node":45,"role":"declaration","source":0,"src_end":23780,"src_start":23303},{"artifact":0,"gen_end":84932,"gen_start":81722,"node":46,"role":"declaration","source":0,"src_end":24262,"src_start":23782},{"artifact":0,"gen_end":85376,"gen_start":84932,"node":47,"role":"declaration","source":0,"src_end":24546,"src_start":24264},{"artifact":0,"gen_end":85462,"gen_start":85376,"node":48,"role":"declaration","source":0,"src_end":24640,"src_start":24548},{"artifact":0,"gen_end":85551,"gen_start":85462,"node":49,"role":"declaration","source":0,"src_end":24769,"src_start":24642},{"artifact":0,"gen_end":88626,"gen_start":85551,"node":50,"role":"declaration","source":0,"src_end":25000,"src_start":24771},{"artifact":0,"gen_end":88831,"gen_start":88626,"node":51,"role":"declaration","source":0,"src_end":25204,"src_start":25002},{"artifact":0,"gen_end":91992,"gen_start":88831,"node":52,"role":"declaration","source":0,"src_end":25559,"src_start":25206},{"artifact":0,"gen_end":95151,"gen_start":91992,"node":53,"role":"declaration","source":0,"src_end":25894,"src_start":25561},{"artifact":0,"gen_end":124244,"gen_start":95151,"node":54,"role":"declaration","source":0,"src_end":26691,"src_start":25896},{"artifact":0,"gen_end":150995,"gen_start":124244,"node":55,"role":"declaration","source":0,"src_end":27383,"src_start":26693},{"artifact":0,"gen_end":151030,"gen_start":150995,"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 8405591af..2f5fbf213 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":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"} +{"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 06568b993..f7411b0e5 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":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 953aff996..cdfb039f2 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/ScreeningOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/ScreeningOracle.tex"}],"mappings":[{"artifact":0,"gen_end":400,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3620,"src_start":0},{"artifact":0,"gen_end":526,"gen_start":400,"node":1,"role":"declaration","source":0,"src_end":254,"src_start":124},{"artifact":0,"gen_end":655,"gen_start":526,"node":2,"role":"declaration","source":0,"src_end":412,"src_start":256},{"artifact":0,"gen_end":3724,"gen_start":655,"node":3,"role":"declaration","source":0,"src_end":637,"src_start":414},{"artifact":0,"gen_end":3926,"gen_start":3724,"node":4,"role":"declaration","source":0,"src_end":877,"src_start":639},{"artifact":0,"gen_end":4191,"gen_start":3926,"node":5,"role":"declaration","source":0,"src_end":1179,"src_start":879},{"artifact":0,"gen_end":4310,"gen_start":4191,"node":6,"role":"declaration","source":0,"src_end":1276,"src_start":1181},{"artifact":0,"gen_end":4462,"gen_start":4310,"node":7,"role":"declaration","source":0,"src_end":1451,"src_start":1278},{"artifact":0,"gen_end":4463,"gen_start":4462,"node":8,"role":"declaration","source":0,"src_end":1543,"src_start":1453},{"artifact":0,"gen_end":7559,"gen_start":4463,"node":9,"role":"declaration","source":0,"src_end":1781,"src_start":1545},{"artifact":0,"gen_end":9004,"gen_start":7559,"node":10,"role":"declaration","source":0,"src_end":2191,"src_start":1783},{"artifact":0,"gen_end":9087,"gen_start":9004,"node":11,"role":"declaration","source":0,"src_end":2283,"src_start":2193},{"artifact":0,"gen_end":9173,"gen_start":9087,"node":12,"role":"declaration","source":0,"src_end":2411,"src_start":2285},{"artifact":0,"gen_end":12218,"gen_start":9173,"node":13,"role":"declaration","source":0,"src_end":2612,"src_start":2413},{"artifact":0,"gen_end":12405,"gen_start":12218,"node":14,"role":"declaration","source":0,"src_end":2795,"src_start":2614},{"artifact":0,"gen_end":21447,"gen_start":12405,"node":15,"role":"declaration","source":0,"src_end":3144,"src_start":2797},{"artifact":0,"gen_end":45902,"gen_start":21447,"node":16,"role":"declaration","source":0,"src_end":3584,"src_start":3146},{"artifact":0,"gen_end":45937,"gen_start":45902,"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 79860f6e3..d827841a7 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":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"} +{"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 205a16911..bc348c332 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":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 96b6e34fe..22d315854 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":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"} +{"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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 99547aad3..c1e550382 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":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","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":"41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5","source_id":"045e42be2f944edb702e047d0f10c6c75ba323bd668a37de9fd5c829a37a82a9","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 3066835f8..a7bc57c80 100644 --- a/compiler/expected/build/modules/LexLeanTarget/BudgetOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/BudgetOracle.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -17,13 +18,17 @@ namespace LexLeanTarget.BudgetOracle public theorem tick_sound (T : Type) (s : (Prod (T) (Nat))) : (((Nat.blt (2) ((s).2)) = true) -> Spent (T) (s) (((s).1, (LexLeanRuntime.subtract ((s).2) (1) : Nat)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Spent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Spent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem tick_progress (T : Type) (s : (Prod (T) (Nat))) : (((Nat.blt (2) ((s).2)) = true) -> (Remaining (T) (((s).1, (LexLeanRuntime.subtract ((s).2) (1) : Nat))) < Remaining (T) (s))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Tick.guard (T : Type) (s : (Prod (T) (Nat))) : Bool := (Nat.blt (2) ((s).2)) @@ -37,13 +42,17 @@ public theorem Tick.apply_progress (T : Type) (s : (Prod (T) (Nat))) (__t : (Pro public theorem burn_sound (T : Type) (s : (Prod (T) (Nat))) (k : Nat) : ((((Nat.ble (k) ((s).2)) && (Nat.blt (0) (k))) = true) -> Spent (T) (s) (((s).1, (LexLeanRuntime.subtract ((s).2) (k) : Nat)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Spent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Spent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem burn_progress (T : Type) (s : (Prod (T) (Nat))) (k : Nat) : ((((Nat.ble (k) ((s).2)) && (Nat.blt (0) (k))) = true) -> (Remaining (T) (((s).1, (LexLeanRuntime.subtract ((s).2) (k) : Nat))) < Remaining (T) (s))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Burn.guard (T : Type) (s : (Prod (T) (Nat))) (k : Nat) : Bool := ((Nat.ble (k) ((s).2)) && (Nat.blt (0) (k))) @@ -62,7 +71,9 @@ public theorem Burn.apply_progress (T : Type) (s : (Prod (T) (Nat))) (k : Nat) ( public theorem empty_sound (T : Type) (x : T) (r : Nat) : ((emptyCheck (T) (x) (r) = true) -> Empty (T) (x) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Empty, emptyCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Empty, emptyCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Drained.sound (T : Type) : (LexLeanReasoning.Sound ((LexLeanTarget.BudgetOracle.emptyCheck (T))) ((LexLeanTarget.BudgetOracle.Empty (T)))) := @@ -71,7 +82,9 @@ public theorem Drained.sound (T : Type) : (LexLeanReasoning.Sound ((LexLeanTarge public theorem allowance_bound (T : Type) (x : (Prod (T) (Nat))) : (Remaining (T) (((x).1, ((x).2 + 3))) < ((x).2 + 4)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Spend.Step (T : Type) where diff --git a/compiler/expected/build/modules/LexLeanTarget/GradeOracle.lean b/compiler/expected/build/modules/LexLeanTarget/GradeOracle.lean index ae09a6ba5..ffbb3f39c 100644 --- a/compiler/expected/build/modules/LexLeanTarget/GradeOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/GradeOracle.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws public import LexLeanTarget.ReasoningOracle set_option autoImplicit false set_option maxRecDepth 100000 @@ -17,7 +18,9 @@ namespace LexLeanTarget.GradeOracle public theorem graded_sound (v : LexLeanTarget.ReasoningOracle.Vitals) (r : Nat) : ((gradedCheck (v) (r) = true) -> Graded (v) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Graded, LexLeanTarget.ReasoningOracle.Hypotensive, LexLeanTarget.ReasoningOracle.hypotensive, gradedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Graded, LexLeanTarget.ReasoningOracle.Hypotensive, LexLeanTarget.ReasoningOracle.hypotensive, gradedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Scale.sound : (LexLeanReasoning.Sound ((LexLeanTarget.GradeOracle.gradedCheck)) ((LexLeanTarget.GradeOracle.Graded))) := @@ -34,19 +37,25 @@ public theorem grade_pending (v : LexLeanTarget.ReasoningOracle.Vitals) : (LexLe public theorem related_admitted (v : LexLeanTarget.ReasoningOracle.Vitals) : Related (v) (({ vitals := v, fever := 0, tachycardia := 0, tachypnea := 0, leukocytosis := 0, sirs := 0, sepsis := 0, shock := 0, level := 0 } : LexLeanTarget.ReasoningOracle.Chart)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [LexLeanTarget.ReasoningOracle.Consistent, LexLeanTarget.ReasoningOracle.Hypotensive, LexLeanTarget.ReasoningOracle.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [LexLeanTarget.ReasoningOracle.Consistent, LexLeanTarget.ReasoningOracle.Hypotensive, LexLeanTarget.ReasoningOracle.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem related_preserved (v : LexLeanTarget.ReasoningOracle.Vitals) (s : LexLeanTarget.ReasoningOracle.Chart) (t : LexLeanTarget.ReasoningOracle.Chart) : (Related (v) (s) -> (LexLeanTarget.ReasoningOracle.Justified (s) (t) -> Related (v) (t))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [LexLeanTarget.ReasoningOracle.Consistent, LexLeanTarget.ReasoningOracle.Febrile, LexLeanTarget.ReasoningOracle.Hypotensive, LexLeanTarget.ReasoningOracle.Justified, LexLeanTarget.ReasoningOracle.Leukocytic, LexLeanTarget.ReasoningOracle.Tachycardic, LexLeanTarget.ReasoningOracle.Tachypneic, LexLeanTarget.ReasoningOracle.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [LexLeanTarget.ReasoningOracle.Consistent, LexLeanTarget.ReasoningOracle.Febrile, LexLeanTarget.ReasoningOracle.Hypotensive, LexLeanTarget.ReasoningOracle.Justified, LexLeanTarget.ReasoningOracle.Leukocytic, LexLeanTarget.ReasoningOracle.Tachycardic, LexLeanTarget.ReasoningOracle.Tachypneic, LexLeanTarget.ReasoningOracle.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem grade_correct (v : LexLeanTarget.ReasoningOracle.Vitals) (chart : LexLeanTarget.ReasoningOracle.Chart) (r : Nat) : (Related (v) (chart) -> ((Option.some ((chart).level) = Option.some (r)) -> Graded (v) (r))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Graded, LexLeanTarget.ReasoningOracle.Consistent, LexLeanTarget.ReasoningOracle.Hypotensive, LexLeanTarget.ReasoningOracle.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Graded, LexLeanTarget.ReasoningOracle.Consistent, LexLeanTarget.ReasoningOracle.Hypotensive, LexLeanTarget.ReasoningOracle.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Grade.Step where diff --git a/compiler/expected/build/modules/LexLeanTarget/PlannerOracle.lean b/compiler/expected/build/modules/LexLeanTarget/PlannerOracle.lean index caf24d08b..9d90236e9 100644 --- a/compiler/expected/build/modules/LexLeanTarget/PlannerOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/PlannerOracle.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -16,7 +17,9 @@ namespace LexLeanTarget.PlannerOracle public theorem fits_kept (s : (Prod (Nat) (Nat))) (t : (Prod (Nat) (Nat))) : (Fits (s) -> (Moves (s) (t) -> Fits (t))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Pouring.preserves : (LexLeanReasoning.Preserves ((LexLeanTarget.PlannerOracle.Moves)) ((LexLeanTarget.PlannerOracle.Fits))) := @@ -25,7 +28,9 @@ public theorem Pouring.preserves : (LexLeanReasoning.Preserves ((LexLeanTarget.P public theorem filla_sound (s : (Prod (Nat) (Nat))) : ((((Nat.blt ((s).1) (4)) && (Nat.ble ((s).2) (3))) = true) -> Moves (s) ((4, (s).2))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def FillA.guard (s : (Prod (Nat) (Nat))) : Bool := ((Nat.blt ((s).1) (4)) && (Nat.ble ((s).2) (3))) @@ -37,7 +42,9 @@ public theorem FillA.apply_sound (s : (Prod (Nat) (Nat))) (__t : (Prod (Nat) (Na public theorem emptyb_sound (s : (Prod (Nat) (Nat))) : ((((Nat.blt (0) ((s).2)) && (Nat.ble ((s).1) (4))) = true) -> Moves (s) (((s).1, 0))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def EmptyB.guard (s : (Prod (Nat) (Nat))) : Bool := ((Nat.blt (0) ((s).2)) && (Nat.ble ((s).1) (4))) @@ -49,7 +56,9 @@ public theorem EmptyB.apply_sound (s : (Prod (Nat) (Nat))) (__t : (Prod (Nat) (N public theorem pour_sound (s : (Prod (Nat) (Nat))) (k : Nat) : ((((Nat.ble (k) ((s).1)) && ((Nat.ble (((s).2 + k)) (3)) && (Nat.ble ((s).1) (4)))) = true) -> Moves (s) (((LexLeanRuntime.subtract ((s).1) (k) : Nat), ((s).2 + k)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Pour.guard (s : (Prod (Nat) (Nat))) (k : Nat) : Bool := ((Nat.ble (k) ((s).1)) && ((Nat.ble (((s).2 + k)) (3)) && (Nat.ble ((s).1) (4)))) @@ -66,7 +75,9 @@ public theorem Pour.apply_sound (s : (Prod (Nat) (Nat))) (k : Nat) (__t : (Prod public theorem measures_sound (target : Nat) (r : (Prod (Nat) (Nat))) : ((measuresCheck (target) (r) = true) -> Measures (target) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Measures, measuresCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Measures, measuresCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Measured.sound : (LexLeanReasoning.Sound ((LexLeanTarget.PlannerOracle.measuresCheck)) ((LexLeanTarget.PlannerOracle.Measures))) := @@ -75,7 +86,9 @@ public theorem Measured.sound : (LexLeanReasoning.Sound ((LexLeanTarget.PlannerO public theorem empty_jugs_fit (_target : Nat) : Fits ((0, 0)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Plan.Step where @@ -314,7 +327,9 @@ by public theorem within_sound (target : Nat) (r : Nat) : ((withinCheck (target) (r) = true) -> Within (target) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Within, withinCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Within, withinCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Inside.sound : (LexLeanReasoning.Sound ((LexLeanTarget.PlannerOracle.withinCheck)) ((LexLeanTarget.PlannerOracle.Within))) := @@ -327,7 +342,9 @@ public theorem Inside.sound : (LexLeanReasoning.Sound ((LexLeanTarget.PlannerOra public theorem whole_sound (target : Nat) (r : Nat) : ((wholeCheck (target) (r) = true) -> Whole (target) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Whole, wholeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Whole, wholeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Anywhere.sound : (LexLeanReasoning.Sound ((LexLeanTarget.PlannerOracle.wholeCheck)) ((LexLeanTarget.PlannerOracle.Whole))) := @@ -336,7 +353,9 @@ public theorem Anywhere.sound : (LexLeanReasoning.Sound ((LexLeanTarget.PlannerO public theorem plan_fit_correct (target : Nat) (s : (Prod (Nat) (Nat))) (v : Nat) : (Fits (s) -> ((Option.some ((s).1) = Option.some (v)) -> Within (target) (v))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, reducible] public def Held (target : Nat) (s : (Prod (Nat) (Nat))) : Prop := (Fits (s) /\ (((s).1 = target) -> (target <= 4))) @@ -344,25 +363,33 @@ public theorem plan_fit_correct (target : Nat) (s : (Prod (Nat) (Nat))) (v : Nat public theorem held_initial (target : Nat) : Held (target) ((0, 0)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Held, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Held, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem held_preserved (target : Nat) (s : (Prod (Nat) (Nat))) (t : (Prod (Nat) (Nat))) : (Held (target) (s) -> (Moves (s) (t) -> Held (target) (t))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Held, Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Held, Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem plan_held_correct (target : Nat) (s : (Prod (Nat) (Nat))) (v : Nat) : (Held (target) (s) -> ((Option.some ((s).1) = Option.some (v)) -> Within (target) (v))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Held, Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Held, Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem plan_whole_correct (target : Nat) (s : (Prod (Nat) (Nat))) (v : Nat) : ((Option.some ((s).1) = Option.some (v)) -> Whole (target) (v)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Whole, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Whole, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive PlanFit.Step where diff --git a/compiler/expected/build/modules/LexLeanTarget/ReasoningOracle.lean b/compiler/expected/build/modules/LexLeanTarget/ReasoningOracle.lean index 8ef13ddab..2c844c14d 100644 --- a/compiler/expected/build/modules/LexLeanTarget/ReasoningOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/ReasoningOracle.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -59,7 +60,9 @@ public structure Chart where public theorem consistent_preserved (s : Chart) (t : Chart) : (Consistent (s) -> (Justified (s) (t) -> Consistent (t))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Findings.preserves : (LexLeanReasoning.Preserves ((LexLeanTarget.ReasoningOracle.Justified)) ((LexLeanTarget.ReasoningOracle.Consistent))) := @@ -68,13 +71,17 @@ public theorem Findings.preserves : (LexLeanReasoning.Preserves ((LexLeanTarget. public theorem fever_sound (s : Chart) : ((((Nat.beq ((s).fever) (0)) && feverish ((s).vitals)) = true) -> Justified (s) (({ vitals := (s).vitals, fever := 1, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem fever_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).fever) (0)) && feverish ((s).vitals)) = true) -> (Pending (({ vitals := (s).vitals, fever := 1, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Fever.guard (s : LexLeanTarget.ReasoningOracle.Chart) : Bool := ((Nat.beq ((s).fever) (0)) && LexLeanTarget.ReasoningOracle.feverish ((s).vitals)) @@ -88,13 +95,17 @@ public theorem Fever.apply_progress (s : LexLeanTarget.ReasoningOracle.Chart) (_ public theorem tachycardia_sound (s : Chart) : ((((Nat.beq ((s).tachycardia) (0)) && tachycardic ((s).vitals)) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := 1, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem tachycardia_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).tachycardia) (0)) && tachycardic ((s).vitals)) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := 1, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Tachycardia.guard (s : LexLeanTarget.ReasoningOracle.Chart) : Bool := ((Nat.beq ((s).tachycardia) (0)) && LexLeanTarget.ReasoningOracle.tachycardic ((s).vitals)) @@ -108,13 +119,17 @@ public theorem Tachycardia.apply_progress (s : LexLeanTarget.ReasoningOracle.Cha public theorem tachypnea_sound (s : Chart) : ((((Nat.beq ((s).tachypnea) (0)) && tachypneic ((s).vitals)) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := 1, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem tachypnea_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).tachypnea) (0)) && tachypneic ((s).vitals)) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := 1, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Tachypnea.guard (s : LexLeanTarget.ReasoningOracle.Chart) : Bool := ((Nat.beq ((s).tachypnea) (0)) && LexLeanTarget.ReasoningOracle.tachypneic ((s).vitals)) @@ -128,13 +143,17 @@ public theorem Tachypnea.apply_progress (s : LexLeanTarget.ReasoningOracle.Chart public theorem leukocytosis_sound (s : Chart) : ((((Nat.beq ((s).leukocytosis) (0)) && leukocytic ((s).vitals)) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := 1, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem leukocytosis_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).leukocytosis) (0)) && leukocytic ((s).vitals)) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := 1, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Leukocytosis.guard (s : LexLeanTarget.ReasoningOracle.Chart) : Bool := ((Nat.beq ((s).leukocytosis) (0)) && LexLeanTarget.ReasoningOracle.leukocytic ((s).vitals)) @@ -148,13 +167,17 @@ public theorem Leukocytosis.apply_progress (s : LexLeanTarget.ReasoningOracle.Ch public theorem sirs_sound (s : Chart) : ((((Nat.beq ((s).sirs) (0)) && (Nat.ble (2) (((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := 1, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem sirs_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).sirs) (0)) && (Nat.ble (2) (((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := 1, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Sirs.guard (s : LexLeanTarget.ReasoningOracle.Chart) : Bool := ((Nat.beq ((s).sirs) (0)) && (Nat.ble (2) (((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) @@ -168,13 +191,17 @@ public theorem Sirs.apply_progress (s : LexLeanTarget.ReasoningOracle.Chart) (__ public theorem sepsis_sound (s : Chart) : ((((Nat.beq ((s).sepsis) (0)) && ((Nat.beq ((s).sirs) (1)) && (Nat.beq (((s).vitals).infection) (1)))) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := 1, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem sepsis_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).sepsis) (0)) && ((Nat.beq ((s).sirs) (1)) && (Nat.beq (((s).vitals).infection) (1)))) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := 1, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Sepsis.guard (s : LexLeanTarget.ReasoningOracle.Chart) : Bool := ((Nat.beq ((s).sepsis) (0)) && ((Nat.beq ((s).sirs) (1)) && (Nat.beq (((s).vitals).infection) (1)))) @@ -188,13 +215,17 @@ public theorem Sepsis.apply_progress (s : LexLeanTarget.ReasoningOracle.Chart) ( public theorem shock_sound (s : Chart) : ((((Nat.beq ((s).shock) (0)) && ((Nat.beq ((s).sepsis) (1)) && hypotensive ((s).vitals))) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := 1, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem shock_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).shock) (0)) && ((Nat.beq ((s).sepsis) (1)) && hypotensive ((s).vitals))) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := 1, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Shock.guard (s : LexLeanTarget.ReasoningOracle.Chart) : Bool := ((Nat.beq ((s).shock) (0)) && ((Nat.beq ((s).sepsis) (1)) && LexLeanTarget.ReasoningOracle.hypotensive ((s).vitals))) @@ -208,13 +239,17 @@ public theorem Shock.apply_progress (s : LexLeanTarget.ReasoningOracle.Chart) (_ public theorem escalate_sound (s : Chart) : ((((Nat.blt ((s).level) (3)) && (((Nat.beq ((s).level) (0)) && (Nat.beq ((s).sirs) (1))) || (((Nat.beq ((s).level) (1)) && (Nat.beq ((s).sepsis) (1))) || ((Nat.beq ((s).level) (2)) && (Nat.beq ((s).shock) (1)))))) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := ((s).level + 1) } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem escalate_progress (s : Chart) : (Consistent (s) -> ((((Nat.blt ((s).level) (3)) && (((Nat.beq ((s).level) (0)) && (Nat.beq ((s).sirs) (1))) || (((Nat.beq ((s).level) (1)) && (Nat.beq ((s).sepsis) (1))) || ((Nat.beq ((s).level) (2)) && (Nat.beq ((s).shock) (1)))))) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := ((s).level + 1) } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Escalate.guard (s : LexLeanTarget.ReasoningOracle.Chart) : Bool := ((Nat.blt ((s).level) (3)) && (((Nat.beq ((s).level) (0)) && (Nat.beq ((s).sirs) (1))) || (((Nat.beq ((s).level) (1)) && (Nat.beq ((s).sepsis) (1))) || ((Nat.beq ((s).level) (2)) && (Nat.beq ((s).shock) (1)))))) @@ -232,13 +267,17 @@ public theorem Escalate.apply_progress (s : LexLeanTarget.ReasoningOracle.Chart) public theorem recommendation_sound (v : Vitals) (r : Nat) : ((recommendationCheck (v) (r) = true) -> Indicated (v) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Indicated, Leukocytic, Tachycardic, Tachypneic, feverish, hypotensive, leukocytic, recommendationCheck, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Indicated, Leukocytic, Tachycardic, Tachypneic, feverish, hypotensive, leukocytic, recommendationCheck, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem recommendation_complete (v : Vitals) (r : Nat) : (Indicated (v) (r) -> (recommendationCheck (v) (r) = true)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Indicated, Leukocytic, Tachycardic, Tachypneic, feverish, hypotensive, leukocytic, recommendationCheck, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Indicated, Leukocytic, Tachycardic, Tachypneic, feverish, hypotensive, leukocytic, recommendationCheck, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Recommendation.sound : (LexLeanReasoning.Sound ((LexLeanTarget.ReasoningOracle.recommendationCheck)) ((LexLeanTarget.ReasoningOracle.Indicated))) := @@ -253,7 +292,9 @@ public theorem Recommendation.complete : (LexLeanReasoning.Complete ((LexLeanTar public theorem discharge_sound (v : Vitals) (r : Nat) : ((dischargeCheck (v) (r) = true) -> Discharged (v) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Discharged, dischargeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Discharged, dischargeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Outpatient.sound : (LexLeanReasoning.Sound ((LexLeanTarget.ReasoningOracle.dischargeCheck)) ((LexLeanTarget.ReasoningOracle.Discharged))) := @@ -262,13 +303,17 @@ public theorem Outpatient.sound : (LexLeanReasoning.Sound ((LexLeanTarget.Reason public theorem admitted_consistent (patient : Vitals) : Consistent (({ vitals := patient, fever := 0, tachycardia := 0, tachypnea := 0, leukocytosis := 0, sirs := 0, sepsis := 0, shock := 0, level := 0 } : Chart)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem admitted_pending (patient : Vitals) : (Pending (({ vitals := patient, fever := 0, tachycardia := 0, tachypnea := 0, leukocytosis := 0, sirs := 0, sepsis := 0, shock := 0, level := 0 } : Chart)) < 11) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Pending, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Pending, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Triage.Step where diff --git a/compiler/expected/build/modules/LexLeanTarget/ScreeningOracle.lean b/compiler/expected/build/modules/LexLeanTarget/ScreeningOracle.lean index 44379dab7..dcf4173d8 100644 --- a/compiler/expected/build/modules/LexLeanTarget/ScreeningOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/ScreeningOracle.lean @@ -4,6 +4,7 @@ public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Models public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -17,7 +18,9 @@ namespace LexLeanTarget.ScreeningOracle public theorem short_sound (w : Nat) (doses : List (Nat)) : ((shortCheck (w) (doses) = true) -> Short (w) (doses)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Short, shortCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Short, shortCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem DoseContract.postcondition_sound : LexLeanModels.Sound2 ((LexLeanTarget.ScreeningOracle.shortCheck)) ((LexLeanTarget.ScreeningOracle.Short)) := LexLeanTarget.ScreeningOracle.short_sound @@ -32,7 +35,9 @@ public theorem DoseContract.postcondition_sound : LexLeanModels.Sound2 ((LexLean public theorem propose_sound (s : (Prod (Nat) (Nat))) (d : Nat) : ((((Nat.beq ((s).2) (0)) && (Nat.blt (0) (d))) = true) -> Proposed (s) (((s).1, d))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Proposed, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Proposed, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Propose.guard (s : (Prod (Nat) (Nat))) (d : Nat) : Bool := ((Nat.beq ((s).2) (0)) && (Nat.blt (0) (d))) @@ -49,7 +54,9 @@ public theorem Propose.apply_sound (s : (Prod (Nat) (Nat))) (d : Nat) (__t : (Pr public theorem safe_sound (w : Nat) (r : Nat) : ((safeCheck (w) (r) = true) -> Safe (w) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Safe, safeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Safe, safeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem SafeDose.sound : (LexLeanReasoning.Sound ((LexLeanTarget.ScreeningOracle.safeCheck)) ((LexLeanTarget.ScreeningOracle.Safe))) := diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.process.json deleted file mode 100644 index 85e5f1605..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.process.json deleted file mode 100644 index d6b84e2c0..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.process.json deleted file mode 100644 index bd733a085..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.process.json deleted file mode 100644 index 5055cd65a..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.process.json deleted file mode 100644 index 11c54ab55..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.process.json deleted file mode 100644 index 9a0d0ccd9..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.process.json deleted file mode 100644 index 5b2765327..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.process.json deleted file mode 100644 index b9a4fb647..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.process.json deleted file mode 100644 index 913638a33..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.process.json deleted file mode 100644 index d4bc9ef97..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.process.json deleted file mode 100644 index 69f08bd95..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.process.json deleted file mode 100644 index 486d0b660..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.process.json deleted file mode 100644 index d3e33a8e0..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.process.json deleted file mode 100644 index 8d4721c5c..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.process.json deleted file mode 100644 index fb1ac440d..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.process.json deleted file mode 100644 index 6ccf43003..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.process.json deleted file mode 100644 index ca18267e3..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.process.json deleted file mode 100644 index 6fa87b129..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.process.json deleted file mode 100644 index c95b4f093..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.process.json deleted file mode 100644 index c57223532..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.process.json deleted file mode 100644 index ae18b1189..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Collections.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Collections.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Collections.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..ca3bcb54e --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Laws.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Laws.lean new file mode 100644 index 000000000..3d95b8987 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Laws.lean @@ -0,0 +1,82 @@ +module +import LexLeanRuntime.Laws +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1.else_eq +#print axioms LexLeanCollections.lessThan.eq_1 +#print axioms LexLeanCollections.listFold.eq_1 +#print axioms LexLeanLaws.append_list +#print axioms LexLeanLaws.length_list +#print axioms LexLeanLaws.lessThan_int +#print axioms LexLeanLaws.lessThan_int16 +#print axioms LexLeanLaws.lessThan_int32 +#print axioms LexLeanLaws.lessThan_int64 +#print axioms LexLeanLaws.lessThan_int8 +#print axioms LexLeanLaws.lessThan_nat +#print axioms LexLeanLaws.lessThan_uint16 +#print axioms LexLeanLaws.lessThan_uint32 +#print axioms LexLeanLaws.lessThan_uint64 +#print axioms LexLeanLaws.lessThan_uint8 +#print axioms LexLeanLaws.listFold_add_int +#print axioms LexLeanLaws.listFold_add_int_self +#print axioms LexLeanLaws.listFold_add_nat +#print axioms LexLeanLaws.listFold_add_nat_self +#print axioms LexLeanLaws.listFold_append +#print axioms LexLeanLaws.listFold_cons +#print axioms LexLeanLaws.listFold_extend +#print axioms LexLeanLaws.listFold_fusion +#print axioms LexLeanLaws.listFold_nil +#print axioms LexLeanLaws.listFold_pair +#print axioms LexLeanLaws.listFold_prepend +#print axioms LexLeanLaws.listFold_sub_int +#print axioms LexLeanLaws.listFold_sub_int_self +#print axioms LexLeanLaws.mapEntries_self +#print axioms LexLeanLaws.mapFold_listFold +#print axioms LexLeanLaws.mapSize_length +#print axioms LexLeanLaws.quotient_int +#print axioms LexLeanLaws.quotient_nat +#print axioms LexLeanLaws.remainder_int +#print axioms LexLeanLaws.remainder_nat +#print axioms LexLeanLaws.setElements_self +#print axioms LexLeanLaws.setFold_listFold +#print axioms LexLeanLaws.setSize_length +#print axioms LexLeanLaws.sumInt +#print axioms LexLeanLaws.sumInt._f +#print axioms LexLeanLaws.sumInt._sunfold +#print axioms LexLeanLaws.sumInt._unsafe_rec +#print axioms LexLeanLaws.sumInt.eq_1 +#print axioms LexLeanLaws.sumInt.eq_2 +#print axioms LexLeanLaws.sumInt.eq_def +#print axioms LexLeanLaws.sumInt_add +#print axioms LexLeanLaws.sumInt_append +#print axioms LexLeanLaws.sumInt_cons +#print axioms LexLeanLaws.sumInt_const +#print axioms LexLeanLaws.sumInt_mul +#print axioms LexLeanLaws.sumInt_mul_right +#print axioms LexLeanLaws.sumInt_mul_self +#print axioms LexLeanLaws.sumInt_neg +#print axioms LexLeanLaws.sumInt_neg_self +#print axioms LexLeanLaws.sumInt_nil +#print axioms LexLeanLaws.sumInt_perm +#print axioms LexLeanLaws.sumInt_reverse +#print axioms LexLeanLaws.sumInt_sub +#print axioms LexLeanLaws.sumNat +#print axioms LexLeanLaws.sumNat._f +#print axioms LexLeanLaws.sumNat._sunfold +#print axioms LexLeanLaws.sumNat._unsafe_rec +#print axioms LexLeanLaws.sumNat.eq_1 +#print axioms LexLeanLaws.sumNat.eq_2 +#print axioms LexLeanLaws.sumNat.eq_def +#print axioms LexLeanLaws.sumNat.match_1 +#print axioms LexLeanLaws.sumNat_add +#print axioms LexLeanLaws.sumNat_append +#print axioms LexLeanLaws.sumNat_cons +#print axioms LexLeanLaws.sumNat_const +#print axioms LexLeanLaws.sumNat_mul +#print axioms LexLeanLaws.sumNat_mul_right +#print axioms LexLeanLaws.sumNat_mul_self +#print axioms LexLeanLaws.sumNat_nil +#print axioms LexLeanLaws.sumNat_perm +#print axioms LexLeanLaws.sumNat_reverse +#print axioms LexLeanLaws.tdiv_ediv +#print axioms LexLeanLaws.tmod_emod +#print axioms LexLeanRuntime.quotient.eq_1 +#print axioms LexLeanRuntime.remainder.eq_1 diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Laws.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Laws.process.json new file mode 100644 index 000000000..93bdb6f4d --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Laws.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext]\n'LexLeanCollections.listFold.eq_1' does not depend on any axioms\n'LexLeanLaws.append_list' does not depend on any axioms\n'LexLeanLaws.length_list' does not depend on any axioms\n'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_nat' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint16' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint32' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint64' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint8' depends on axioms: [propext]\n'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_cons' does not depend on any axioms\n'LexLeanLaws.listFold_extend' depends on axioms: [propext]\n'LexLeanLaws.listFold_fusion' does not depend on any axioms\n'LexLeanLaws.listFold_nil' does not depend on any axioms\n'LexLeanLaws.listFold_pair' does not depend on any axioms\n'LexLeanLaws.listFold_prepend' depends on axioms: [propext]\n'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.mapEntries_self' does not depend on any axioms\n'LexLeanLaws.mapFold_listFold' does not depend on any axioms\n'LexLeanLaws.mapSize_length' does not depend on any axioms\n'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.setElements_self' does not depend on any axioms\n'LexLeanLaws.setFold_listFold' does not depend on any axioms\n'LexLeanLaws.setSize_length' does not depend on any axioms\n'LexLeanLaws.sumInt' does not depend on any axioms\n'LexLeanLaws.sumInt._f' does not depend on any axioms\n'LexLeanLaws.sumInt._sunfold' does not depend on any axioms\n'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_1' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_2' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_def' does not depend on any axioms\n'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_cons' does not depend on any axioms\n'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul' depends on axioms: [propext]\n'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext]\n'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_nil' does not depend on any axioms\n'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat' does not depend on any axioms\n'LexLeanLaws.sumNat._f' does not depend on any axioms\n'LexLeanLaws.sumNat._sunfold' does not depend on any axioms\n'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_1' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_2' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_def' does not depend on any axioms\n'LexLeanLaws.sumNat.match_1' does not depend on any axioms\n'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_cons' does not depend on any axioms\n'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul' does not depend on any axioms\n'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul_self' does not depend on any axioms\n'LexLeanLaws.sumNat_nil' does not depend on any axioms\n'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.quotient.eq_1' does not depend on any axioms\n'LexLeanRuntime.remainder.eq_1' does not depend on any axioms\n","stdout_sha256":"a4ba2d39c9cdfd5e40c41c5ccf4726d937fd192fc042b74bb56cc0651e28919e","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Models.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Models.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Models.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Models.process.json new file mode 100644 index 000000000..9f46cb932 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Models.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Portable.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Portable.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Portable.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..67f8f69b0 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Reasoning.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Reasoning.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Reasoning.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Reasoning.process.json new file mode 100644 index 000000000..beefdf517 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Reasoning.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanRuntime.Reasoning.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.BudgetOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.BudgetOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.BudgetOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.BudgetOracle.process.json new file mode 100644 index 000000000..b6c181a85 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.BudgetOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.BudgetOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Certification.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Certification.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Certification.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Certification.process.json new file mode 100644 index 000000000..39713d236 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Certification.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Certification.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Gnaf.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Gnaf.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Gnaf.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Gnaf.process.json new file mode 100644 index 000000000..fadff9802 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Gnaf.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Gnaf.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafCertificates.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafCertificates.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafCertificates.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafCertificates.process.json new file mode 100644 index 000000000..6cf5abaf9 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafCertificates.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafCertificates.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafFixtures.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafFixtures.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafFixtures.process.json new file mode 100644 index 000000000..7de003f4d --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafFixtures.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GnafFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GradeOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GradeOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GradeOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GradeOracle.process.json new file mode 100644 index 000000000..49a85a8f1 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GradeOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.GradeOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Main.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Main.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Main.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Main.process.json new file mode 100644 index 000000000..cb506a4e6 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.PlannerOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.PlannerOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.PlannerOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.PlannerOracle.process.json new file mode 100644 index 000000000..6ebc1dc9e --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.PlannerOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.PlannerOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningFixtures.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningFixtures.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningFixtures.process.json new file mode 100644 index 000000000..a43a9a217 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningFixtures.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningOracle.process.json new file mode 100644 index 000000000..5d7d71252 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ReasoningOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSemantics.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSemantics.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSemantics.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSemantics.process.json new file mode 100644 index 000000000..0763cd164 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSemantics.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSemantics.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSyntax.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSyntax.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSyntax.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSyntax.process.json new file mode 100644 index 000000000..c23adc385 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSyntax.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.RustSyntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ScreeningOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ScreeningOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ScreeningOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ScreeningOracle.process.json new file mode 100644 index 000000000..933fb6f1e --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ScreeningOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.ScreeningOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetFixtures.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetFixtures.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetFixtures.process.json new file mode 100644 index 000000000..b5d1c9f18 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetFixtures.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetOracle.process.json new file mode 100644 index 000000000..8cda76b90 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSemantics.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSemantics.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSemantics.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSemantics.process.json new file mode 100644 index 000000000..da74150ff --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSemantics.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSemantics.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.lean b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSyntax.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.lean rename to compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSyntax.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSyntax.process.json b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSyntax.process.json new file mode 100644 index 000000000..2b0ea2b47 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSyntax.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.LexLeanTarget.TargetSyntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A41e3a4ce26cb7cc785af7be14683ebb4.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 2be2c08ae..dc3545855 100644 --- a/compiler/expected/verify/audit/output.txt +++ b/compiler/expected/verify/audit/output.txt @@ -101,6 +101,86 @@ '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 +'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext] +'LexLeanCollections.listFold.eq_1' does not depend on any axioms +'LexLeanLaws.append_list' does not depend on any axioms +'LexLeanLaws.length_list' does not depend on any axioms +'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_nat' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint16' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint32' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint64' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint8' depends on axioms: [propext] +'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_cons' does not depend on any axioms +'LexLeanLaws.listFold_extend' depends on axioms: [propext] +'LexLeanLaws.listFold_fusion' does not depend on any axioms +'LexLeanLaws.listFold_nil' does not depend on any axioms +'LexLeanLaws.listFold_pair' does not depend on any axioms +'LexLeanLaws.listFold_prepend' depends on axioms: [propext] +'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.mapEntries_self' does not depend on any axioms +'LexLeanLaws.mapFold_listFold' does not depend on any axioms +'LexLeanLaws.mapSize_length' does not depend on any axioms +'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.setElements_self' does not depend on any axioms +'LexLeanLaws.setFold_listFold' does not depend on any axioms +'LexLeanLaws.setSize_length' does not depend on any axioms +'LexLeanLaws.sumInt' does not depend on any axioms +'LexLeanLaws.sumInt._f' does not depend on any axioms +'LexLeanLaws.sumInt._sunfold' does not depend on any axioms +'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumInt.eq_1' does not depend on any axioms +'LexLeanLaws.sumInt.eq_2' does not depend on any axioms +'LexLeanLaws.sumInt.eq_def' does not depend on any axioms +'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_cons' does not depend on any axioms +'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul' depends on axioms: [propext] +'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext] +'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_nil' does not depend on any axioms +'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat' does not depend on any axioms +'LexLeanLaws.sumNat._f' does not depend on any axioms +'LexLeanLaws.sumNat._sunfold' does not depend on any axioms +'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumNat.eq_1' does not depend on any axioms +'LexLeanLaws.sumNat.eq_2' does not depend on any axioms +'LexLeanLaws.sumNat.eq_def' does not depend on any axioms +'LexLeanLaws.sumNat.match_1' does not depend on any axioms +'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_cons' does not depend on any axioms +'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul' does not depend on any axioms +'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul_self' does not depend on any axioms +'LexLeanLaws.sumNat_nil' does not depend on any axioms +'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.quotient.eq_1' does not depend on any axioms +'LexLeanRuntime.remainder.eq_1' 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 diff --git a/compiler/expected/verify/probe/LexLeanProbe.P322344811b7d86d74c93a4f40acd7bac.lean b/compiler/expected/verify/probe/LexLeanProbe.P41e3a4ce26cb7cc785af7be14683ebb4.lean similarity index 100% rename from compiler/expected/verify/probe/LexLeanProbe.P322344811b7d86d74c93a4f40acd7bac.lean rename to compiler/expected/verify/probe/LexLeanProbe.P41e3a4ce26cb7cc785af7be14683ebb4.lean diff --git a/compiler/expected/verify/probe/process.json b/compiler/expected/verify/probe/process.json index 9b8a402bc..eab5cbdad 100644 --- a/compiler/expected/verify/probe/process.json +++ b/compiler/expected/verify/probe/process.json @@ -1 +1 @@ -{"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"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P41e3a4ce26cb7cc785af7be14683ebb4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P41e3a4ce26cb7cc785af7be14683ebb4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/compiler/expected/verify/process/lean/LexLeanRuntime.Laws.json b/compiler/expected/verify/process/lean/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..b6b4cff9f --- /dev/null +++ b/compiler/expected/verify/process/lean/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Laws.olean","$STAGING/lean-src/LexLeanRuntime/Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..650bb0ba4 --- /dev/null +++ b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Laws"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/compiler/lexlean.lock b/compiler/lexlean.lock index 81b35688d..6d58842f8 100644 --- a/compiler/lexlean.lock +++ b/compiler/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" project_config_sha256 = "ef58478b65de0ad784269ab3513059f5afbb7f461bda9476efce78344301755e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/compiler/rust/negative/arithmetic-invented-overflow.json b/compiler/rust/negative/arithmetic-invented-overflow.json index 8e055cf6b..18d2fca2b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7c7cc95b6..cb29a64db 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8a3bcf5c8..63128e2da 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0331ef7fb..8fb9daf45 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e44cab42f..64154e4d0 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 57424eb80..a17b098fb 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f607b44a5..3a7af0e74 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6e95ba0e3..a90dcb57f 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d7ac8460f..466cfd73f 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6a04120a0..56fdeb79e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 317074a86..b73427299 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0aaad18f0..99f5a143d 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f11edb9d0..4384c54c8 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 100a9e936..e213fbe9e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0ccb50e4b..0850f5f8e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 86bf5847e..c2f860867 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0590c657b..29d87a731 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b2066b08f..c815a4349 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 06415ca21..994f8e42c 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0366feba8..96d814cb0 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d21ad4202..e7726b02c 100644 --- a/compiler/rust/rust-core/boolean-shapes/provenance.json +++ b/compiler/rust/rust-core/boolean-shapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8f87d6c2f..09deec7a5 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c90be8c91..cda4d1b86 100644 --- a/compiler/rust/rust-core/closure-captures/provenance.json +++ b/compiler/rust/rust-core/closure-captures/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 acd67a327..4a8bdffe7 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f5a5f9aa4..66a0ee69b 100644 --- a/compiler/rust/rust-core/closure-inline/provenance.json +++ b/compiler/rust/rust-core/closure-inline/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 be7630ccc..2b2e6b47e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 bf28c99c5..7c0e9feaa 100644 --- a/compiler/rust/rust-core/closure-uninhabited/provenance.json +++ b/compiler/rust/rust-core/closure-uninhabited/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 10337ec9e..bbdad7692 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 18d56e1e7..db2ef912f 100644 --- a/compiler/rust/rust-core/convert/provenance.json +++ b/compiler/rust/rust-core/convert/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"eb5b8719a62544af24875ac26fc79a3ecac479e6ae96bba411b93c91d8be2115","src/lib.rs":"467414792ece513732505a93277d6770bcd85be30d5457ffdc72d3bfde288c5a"},"name":"convert_core","profile":"rust-core","program":"53f534696ea7212909ffcf637122ef370f71853fc0ce58655b91be97455279f5","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f376d9e5c..3dc69ae8f 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 319f1cd38..739519280 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 cdf1a3dfa..b587df3d4 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5f8674826..5ea1a6948 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b3cab4c50..274affd31 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 fb9131abb..593f70c44 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 1779ef7f3..3dc1d368c 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d0fe51acb..af4c0dfff 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 155389d86..d2d104cfb 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f53b38ba8..f4bd463be 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6693860f7..198f9cf4b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b0ee3ef6c..5afc15423 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6561449e5..0288b0c90 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f3f5aec60..0a20a48d1 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 64cb43790..788df8758 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 eb50483b2..a21f59ad1 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3f1e46490..1e049017e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b70149cb7..da65f8dfc 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 223bfc071..8e4d3b0b7 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 975ea7783..ce25fc51a 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a092234b8..5acad0027 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0a78ebd76..03c85f3c1 100644 --- a/compiler/rust/rust-core/function-shapes/provenance.json +++ b/compiler/rust/rust-core/function-shapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5f62c10ff..68de709ec 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 628258977..6702e6321 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a866b2995..ce90d5c1a 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 df3128485..aa0e777c7 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7df703e7e..3ba3a94cb 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 63cc61ffc..8ace8a2b1 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6a0c7c566..096d0c08c 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2ab4de6b9..7384b5763 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d408d51b3..7143f3bb0 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ed2cb2dea..82d602e75 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4ed2d597e..3d4727d25 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 1ee472403..1245a7b2d 100644 --- a/compiler/rust/rust-core/iterate-until/provenance.json +++ b/compiler/rust/rust-core/iterate-until/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5c17b692a..a59709b16 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 51a32730e..bfa6a0bba 100644 --- a/compiler/rust/rust-core/iterate/provenance.json +++ b/compiler/rust/rust-core/iterate/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"bda30a7b9b61728abe20e4b25ce515e6af98829be9f26ebe4f34cbacc74fd303","src/lib.rs":"8e4a74c1282321b2686519e64b14dbc04fe1fe07bb29743bee99edd5a561788d"},"name":"iterate_core","profile":"rust-core","program":"93495cb93bd9292be524f0e8414d7b827b60f812c842ab717fef46322758cf60","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0cdae818b..6c0b6fa0e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 59388dde2..cd83ace5d 100644 --- a/compiler/rust/rust-core/match-shapes/provenance.json +++ b/compiler/rust/rust-core/match-shapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 351855ee6..d07c1b6de 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3fc1c1b4c..c4ee86190 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ddc390410..59409cc32 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e4cdf06b1..977274d5f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 81bcf551e..d30b9a380 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4c000b8dc..230844f06 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 fc6b1b3af..94cf1c7de 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 fd6d9987d..edce78245 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2ddb87d2c..9df5f7435 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d870f3e84..a39305ca3 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f938387b3..fbfcd0e44 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 86e0eb66f..42969ab97 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7bb3aefcc..6f4d29885 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 bf99f3d34..41b7acd6b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ea9a634fb..90610f168 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 11b2a26d2..237b3e7f6 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d6a3afd3c..184da8804 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 98262e9a1..fcdf12daf 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0aac5bca5..91d5a18cb 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 310e74adc..d5fd17bbe 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 80ed74eb7..da5c66bfb 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 63eaaf3b8..3f27cf557 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 65b077e18..fdfc6c9eb 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 80000bff4..efba6f050 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 28bf351d2..9bbd07f2b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a6e571d59..a7b0cece7 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 bdd6e5d97..ad7805ebc 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 47f0eb78a..70355ed5e 100644 --- a/compiler/rust/rust-core/record-fields/provenance.json +++ b/compiler/rust/rust-core/record-fields/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e49e56d2f..7f5d89269 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8f113369f..1bfbcf053 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f536b31bd..10cc247f9 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 65ebc5e0e..d40aa78e9 100644 --- a/compiler/rust/rust-core/sum-to/provenance.json +++ b/compiler/rust/rust-core/sum-to/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5f674fbb1..1dc1bf96a 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7e52b10b6..837246a43 100644 --- a/compiler/rust/rust-core/unit-closures/provenance.json +++ b/compiler/rust/rust-core/unit-closures/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 95d945100..710796038 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 94a5d3b30..98da9f47a 100644 --- a/compiler/rust/rust-core/unit-values/provenance.json +++ b/compiler/rust/rust-core/unit-values/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ea7f0ec6e..a755d40bd 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0af829429..fa59e0d6f 100644 --- a/compiler/rust/rust-core/wide-shapes/provenance.json +++ b/compiler/rust/rust-core/wide-shapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 addfa49ab..52fd47bc8 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5642b7a7a..b142423fa 100644 --- a/compiler/rust/rust-std/adt-evaluation/provenance.json +++ b/compiler/rust/rust-std/adt-evaluation/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 283fdd38a..ba447eab5 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0c6f1b218..7cfe43cde 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2d77fedaf..bbeffa5bc 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b61798a9c..15788d6d3 100644 --- a/compiler/rust/rust-std/boolean-shapes/provenance.json +++ b/compiler/rust/rust-std/boolean-shapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7882c491c..0bc300e45 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a3e43a803..64a76ef5e 100644 --- a/compiler/rust/rust-std/booleans/provenance.json +++ b/compiler/rust/rust-std/booleans/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4197743b8008a08e062227c578c44fd3fb12b2377e05378e0613c2c63dab15da","src/lib.rs":"cf1e99037d3f9d080d1ce4e8706e38ab339279d5d7e803cc641916759b7763da"},"name":"booleans_std","profile":"rust-std","program":"df569820e9e36f6ecd0c9ad30a82b24e02db81757db33e6c0789609ea89bdbab","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 373839cc4..8372dc7cd 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4b92d4dee..1b9bd5a58 100644 --- a/compiler/rust/rust-std/boxed-field/provenance.json +++ b/compiler/rust/rust-std/boxed-field/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 54415c232..ad33f84dc 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 33ad38196..efeba5d3d 100644 --- a/compiler/rust/rust-std/byte-compare/provenance.json +++ b/compiler/rust/rust-std/byte-compare/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2cd613c20..f1d8bd593 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 95685d3dd..1c496caa1 100644 --- a/compiler/rust/rust-std/byte-order/provenance.json +++ b/compiler/rust/rust-std/byte-order/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 cf5efae31..90ae7ad5c 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9f1c22712..30d6b429d 100644 --- a/compiler/rust/rust-std/byte-slices/provenance.json +++ b/compiler/rust/rust-std/byte-slices/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2dedeecf9..5b12e04b5 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 41b23b245..4b05060d4 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 813d191ee..96a214c6e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7377db8db..575c81c9d 100644 --- a/compiler/rust/rust-std/closure-captures/provenance.json +++ b/compiler/rust/rust-std/closure-captures/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9765a2bfc..05cf029dc 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2af9dcd7f..36b75eb24 100644 --- a/compiler/rust/rust-std/closure-dispatch/provenance.json +++ b/compiler/rust/rust-std/closure-dispatch/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 66a597b12..3ab36b233 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a2dccb44b..153668d87 100644 --- a/compiler/rust/rust-std/closure-inline/provenance.json +++ b/compiler/rust/rust-std/closure-inline/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 552a81c0e..095f63eee 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d240fa466..59d0c23b5 100644 --- a/compiler/rust/rust-std/closure-recursive/provenance.json +++ b/compiler/rust/rust-std/closure-recursive/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ccfcd0d0e..545c54a9a 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 12dbedc13..92745ab81 100644 --- a/compiler/rust/rust-std/closure-uninhabited/provenance.json +++ b/compiler/rust/rust-std/closure-uninhabited/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4e0d8baec..87ac81efc 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 534a21583..2ca57731d 100644 --- a/compiler/rust/rust-std/closures/provenance.json +++ b/compiler/rust/rust-std/closures/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"dc94fa130dfb344cb9f25385def51572570da514423c2ca7c1f15af3d113478f","src/lib.rs":"42173a0ef40045059859a5f616c1f407fa4d0a67215d4dcede94d0c950d650d9"},"name":"closures_std","profile":"rust-std","program":"1853f6da889803b1a20a6b08710abf3c24a96ca453073ec176f5854649afcb98","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 86917a1e2..681abae9b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c04ae8745..b243510f2 100644 --- a/compiler/rust/rust-std/convert/provenance.json +++ b/compiler/rust/rust-std/convert/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"186b3f1828951cb08082806c9210e4dbf844513fe1d48a27ca5d74f8d67f2b54","src/lib.rs":"970c4741fa0a2f13bd0b8d405aa9f405ebd84463f81ce1d1460956b03dd455c0"},"name":"convert_std","profile":"rust-std","program":"53f534696ea7212909ffcf637122ef370f71853fc0ce58655b91be97455279f5","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b1ebb1e86..9ba64b25f 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3ab330ede..112beb20f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 161562287..6da46a062 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0bfd8ee7f..137519011 100644 --- a/compiler/rust/rust-std/decimal-overflow/provenance.json +++ b/compiler/rust/rust-std/decimal-overflow/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5e20193e1..314db1c3d 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9261ba54b..6ce2d2fdf 100644 --- a/compiler/rust/rust-std/decimal/provenance.json +++ b/compiler/rust/rust-std/decimal/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4de336d24eccd5b8c7610e67d45f0f54333e2cbc4409e3bd6ea04275a068d3dc","src/lib.rs":"cfdc59f297dd78321a99d53d799aeea3577c9c573171169989ba0ce921a5e8cc"},"name":"decimal_std","profile":"rust-std","program":"917f310d200f9f4fa5ebf83c791b56d8e08333293edf4fc50fd597570ae58d4d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 165faa0f8..0f0adbe05 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 591d85337..d01d87cf6 100644 --- a/compiler/rust/rust-std/equality/provenance.json +++ b/compiler/rust/rust-std/equality/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"01ae42b51273b4ca067a4e5295206260cbcbbab4b765b04045954060004d3ce1","src/lib.rs":"649f7a4c1d4377c9a8f22cd463f21defdef0cb3330f2cc0bc943ea8a838c98ff"},"name":"equality_std","profile":"rust-std","program":"60cbf0f5a5314bb087d9eb23ac978b692465e0b4defea241a2f8917c776ee53a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 880d1fdb3..289495915 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c748aabfe..aa509e161 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 229873c91..f94b82262 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 aafb29ca1..fdaa019ab 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e75e2d09e..502b57ba9 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 09c3a4ac7..6cb80316f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 bd1c7a716..4df24e6a6 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e30e52ced..ca5811aa6 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2afd938f7..005daa84d 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c4842f7b8..fc8a11c8e 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 88468d777..073d5df5d 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 152e341a2..a6512cd30 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4b34f8c3d..f6566fe1d 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0ba27ab4b..de49ff032 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2c1dd1ace..ff62cf789 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9d2e185b4..37842cdb8 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 1dfc0e2d4..39026347d 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 43db88f89..62cc9acd7 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 88d37a7ec..3af89cd2c 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 daca780cf..a29f45090 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e6a24d105..53bec61f2 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f1844a3ca..24cc842d9 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c934a73d4..671777827 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5112822a2..3d89c8316 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 597727e8a..57bd31a93 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 90936d956..14fd39d11 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 aaeffd142..7348259ea 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 651b7a02c..00ac7a751 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 054f6b0cb..2c515c9d3 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d7c7cb3c9..424543a2f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f5af46de9..0fd91f372 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 646a5670a..b8309d6d2 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 73466e2f2..4d4499d3e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f1c8786da..a479978d9 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b3b68c122..5d516f2aa 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 220e3f433..913ffd380 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2c9a96420..383f81f24 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 85794cb72..b536098c9 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d449a7c01..1445b72d2 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 37081ecd2..aacb7a261 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 37f66f0f8..81d7b9a5d 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7e8e672ea..1d104ad2a 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b48698c6d..d65581029 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e73f77aaa..f2a7ebe43 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 158914ec7..197759d6b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 66cb68991..2fd56330f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 579fced82..4a0f96cf2 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 cc28da275..81351d86b 100644 --- a/compiler/rust/rust-std/function-shapes/provenance.json +++ b/compiler/rust/rust-std/function-shapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ed9142a43..1cd254fca 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 728db5fa9..9d239338d 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 72498e4c7..932b391a8 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b371eb09f..7aec026cb 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ba72dd564..4d69d5cf4 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6d28cc642..548b13d1f 100644 --- a/compiler/rust/rust-std/graph-reachable/provenance.json +++ b/compiler/rust/rust-std/graph-reachable/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d21ec7766..47f0f52d3 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3109afd26..854b15f83 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 765cbc575..65adc628f 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7fe679e02..729072317 100644 --- a/compiler/rust/rust-std/graph-successors/provenance.json +++ b/compiler/rust/rust-std/graph-successors/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0f2cb5ac1..c128b30aa 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8b4cfad93..7e74a3b48 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ff1bc5af6..ceaefcc5c 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 757369935..c59e5ae49 100644 --- a/compiler/rust/rust-std/graph-topological/provenance.json +++ b/compiler/rust/rust-std/graph-topological/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 393027be5..292918763 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 756e97b4a..9f67f7450 100644 --- a/compiler/rust/rust-std/int-arithmetic/provenance.json +++ b/compiler/rust/rust-std/int-arithmetic/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b91695f80..209912523 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 31f864e26..89c85f14d 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 17dfbe12d..683b4c483 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3634108bb..e3cd15dd3 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e917ffb28..068b1ef81 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 464c58538..437d4bbcd 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 fba76e334..8d871cc8c 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4d0a0a670..cd52f0c0a 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3b5fab1dc..43982000f 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ca87ab71a..303628753 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6fdb25b2d..e9452066e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2e1e9d157..ca70ad5de 100644 --- a/compiler/rust/rust-std/iterate-until/provenance.json +++ b/compiler/rust/rust-std/iterate-until/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2fe30fb4b..8e29284e0 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3f9c4a0b4..4f60877ba 100644 --- a/compiler/rust/rust-std/iterate/provenance.json +++ b/compiler/rust/rust-std/iterate/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"de5e3eccc209f817965fe1ad22fe279b7b53ee8e98f0d7db012c96d31fc537a5","src/lib.rs":"5d451605ced8820aa8a88d0abb178655645ae80d417d2fb2ac53938266c4ddc0"},"name":"iterate_std","profile":"rust-std","program":"93495cb93bd9292be524f0e8414d7b827b60f812c842ab717fef46322758cf60","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 005ecffb1..1a350ddf1 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 723443027..5f48c09f3 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6a6fe95df..460ccdb04 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c22a23a64..6fa89e740 100644 --- a/compiler/rust/rust-std/list-fold/provenance.json +++ b/compiler/rust/rust-std/list-fold/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8b0cc9ff5..d0a189c6b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4f7dedcac..ab74f1571 100644 --- a/compiler/rust/rust-std/lists-borrowed/provenance.json +++ b/compiler/rust/rust-std/lists-borrowed/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a36ccc161..43b7dd571 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6f0732354..95d9c7608 100644 --- a/compiler/rust/rust-std/lists/provenance.json +++ b/compiler/rust/rust-std/lists/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"20a5e788febf3f6995f85883485d6e561b1d12dfa390f426c37a4676b4c7e6bd","src/lib.rs":"f658b6c437ef639208128f85ab4caf2c83fa4a1243d700fd8384d12bd4d504a4"},"name":"lists_std","profile":"rust-std","program":"6ccce5df53085556ae8de4d7783d2b5f3734fdee0f895ed7c612b695af1b208e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 40d08d4e8..ad9847355 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 15887cba8..f5f61596f 100644 --- a/compiler/rust/rust-std/literals/provenance.json +++ b/compiler/rust/rust-std/literals/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0967689a42ab9a6bdcfba8e93c74e0293cda460413bb245ec0b39aa1e2b5a2ca","src/lib.rs":"929569285659bc8ab598f7239e30b103056ee70f74bd2b69daca22764355f294"},"name":"literals_std","profile":"rust-std","program":"2c3026cfe7aae0d5cdd2a0c9ac2ba5174566b5aa92ebdb3a069953cffc7178aa","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 14ea2b8e2..71037a7aa 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 873f73589..f472944f9 100644 --- a/compiler/rust/rust-std/map-contains/provenance.json +++ b/compiler/rust/rust-std/map-contains/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d7936af0e..a19431196 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 733f34747..44e4b7bd7 100644 --- a/compiler/rust/rust-std/map-fold/provenance.json +++ b/compiler/rust/rust-std/map-fold/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d3e708dea..e3952f122 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 bf8be6c80..ed6854d4b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d456d1806..29e11148a 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d5aba76c2..272a700fc 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 688d47862..11e819b55 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9337942c4..db613d98a 100644 --- a/compiler/rust/rust-std/map-insert/provenance.json +++ b/compiler/rust/rust-std/map-insert/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e76d9b583..b4290ab16 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b6f8ac448..e791ab155 100644 --- a/compiler/rust/rust-std/map-keys/provenance.json +++ b/compiler/rust/rust-std/map-keys/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 779edf691..e15f17d2d 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d32d9ef6e..294051ed4 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ba9ce0554..b2d75aa2b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3c7898d36..fb41cbb53 100644 --- a/compiler/rust/rust-std/map-lookup/provenance.json +++ b/compiler/rust/rust-std/map-lookup/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ee28d97da..8af913572 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 da9de5b49..c1b5e7db3 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a3d3270a4..12fb234a6 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e84ed1883..014165f7d 100644 --- a/compiler/rust/rust-std/map-remove/provenance.json +++ b/compiler/rust/rust-std/map-remove/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 331c52d32..83a605bb5 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 68d59b34a..b21699234 100644 --- a/compiler/rust/rust-std/map-values/provenance.json +++ b/compiler/rust/rust-std/map-values/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b71a31629..1daf22dea 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 36922bd24..9f2061ec3 100644 --- a/compiler/rust/rust-std/match-shapes/provenance.json +++ b/compiler/rust/rust-std/match-shapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b10144b89..ba9b01013 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 94594d0e9..95e938041 100644 --- a/compiler/rust/rust-std/nat-arithmetic/provenance.json +++ b/compiler/rust/rust-std/nat-arithmetic/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f770b46be..38dc21488 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5bc648b82..c8fe3d47b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ce72f0b0e..0941bffca 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 abfa16eeb..858dd1f3b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 578117dc8..fedd74481 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c67781e0f..ecdb449d9 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 802ea3012..bd96f7052 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 efefcb3e7..b34940f13 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9b6c0bcf6..b66169e88 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 af3ed64ba..32fb22a2a 100644 --- a/compiler/rust/rust-std/ordering/provenance.json +++ b/compiler/rust/rust-std/ordering/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"142a59240c00723aa00ed298dd5b431f7f14b956d4b09b9752c4802c0d21b326","src/lib.rs":"36558853c89ae0ee0daf0aaa24d39d1b20f1d65407f2bd6d5b4ca71970460983"},"name":"ordering_std","profile":"rust-std","program":"3217967643b88e6bc78df4e90f18f31985e02fe048e60d864ef4567a410b67e4","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8f187acde..5afcadffd 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7a616337c..c2a304de9 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7dd0252c8..b7fccf570 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 df6c6e433..c9d5807bb 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 96dbff0c6..ddb7195ea 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b03085e1f..a81e605b3 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 70e738d5f..dc9249970 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d3642775f..09af5126f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 61c4accfb..6b6711042 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 281a7fb33..3781792dd 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 bc0b5dc8c..7a12fa7b3 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 356be6fad..702f83842 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9eb1c437b..7dda9b238 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 16117074c..7ce9024c5 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 69e652e5b..4cf12e825 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 df5810e35..8ddac0068 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2ff5cb831..32b5ef2c5 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 46e2d8daa..491c42485 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0fd8bfca0..c0d00115f 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d3178c985..26317eb63 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 add7b5017..719fb111e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9e55f3424..235c13178 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 5a950e378..61af93bf2 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6482a71ce..b9178c618 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0a70dc22a..87e092d90 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2d3f56bc1..fa5d719d2 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8d39ce992..2a41ddd10 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 801b7631d..92927807a 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 569179eba..986737ab8 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 09c9f0873..1d7453db4 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 6973e6682..b214b89a6 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 873bfad00..cd5c56f8b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 bfac64b1f..338c3e8bb 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8302d2f7f..b9bf73e85 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 51ce93c22..368d11ecd 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b51279e1b..377c0c955 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c780ba6d0..c55cf7818 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4042d3cfd..cc7d8ba5f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0de0ef95a..e6d081579 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 af0ffd3cd..ff46581e5 100644 --- a/compiler/rust/rust-std/record-fields/provenance.json +++ b/compiler/rust/rust-std/record-fields/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3c48c8c25..708d8bec6 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 8dc1bcf92..d75d82631 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 4d725f64c..1d79e501e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d9d5a8973..21dd97879 100644 --- a/compiler/rust/rust-std/set-contains/provenance.json +++ b/compiler/rust/rust-std/set-contains/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 785a061c0..4a60c10e5 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3da472808..4737da7ff 100644 --- a/compiler/rust/rust-std/set-difference/provenance.json +++ b/compiler/rust/rust-std/set-difference/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 67cf9dc16..a721c64f7 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 30d47cd0c..871a10576 100644 --- a/compiler/rust/rust-std/set-fold/provenance.json +++ b/compiler/rust/rust-std/set-fold/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9c6f93139..e715106c7 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a4f0ea009..964ce812c 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f415c454b..fc18a2ae8 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 697aa4f84..b6db3a1dc 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 1b4006adf..f70bdb16b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b5f37242e..a3a1954f5 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 99bc3a01a..58e8429c0 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 7d083a18f..303bd39f2 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 12690b531..258744c86 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 ea972707c..82a32ddaa 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 0d84bf3fc..18642097b 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 b75b9b392..0b472eb7d 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 815b1196d..b79c8938a 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e18c74d7e..3f8448976 100644 --- a/compiler/rust/rust-std/set-intersection/provenance.json +++ b/compiler/rust/rust-std/set-intersection/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d3dbd394b..7da4ba5b5 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9019d19fa..f59ce8480 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9f075ff52..913530612 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 bba82096f..2521885be 100644 --- a/compiler/rust/rust-std/set-remove/provenance.json +++ b/compiler/rust/rust-std/set-remove/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 9f8f86b3f..ca41040dc 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2a019d661..18a7cc5de 100644 --- a/compiler/rust/rust-std/set-union/provenance.json +++ b/compiler/rust/rust-std/set-union/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 d5318f78d..00a2dee15 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 141eed27e..d14b21d29 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 80037d8ae..57fe197fe 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 f694352a7..809859a7b 100644 --- a/compiler/rust/rust-std/string-escapes/provenance.json +++ b/compiler/rust/rust-std/string-escapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 3ccde5f34..182b82e50 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 a7a405f17..8526eb95c 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 2661d9781..ac19b26fe 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 85581a7f7..2676ff4ac 100644 --- a/compiler/rust/rust-std/sum-to/provenance.json +++ b/compiler/rust/rust-std/sum-to/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 fb2d18b17..25948f18e 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 e0482a54a..b44ca626c 100644 --- a/compiler/rust/rust-std/unit-closures/provenance.json +++ b/compiler/rust/rust-std/unit-closures/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 84ce2721b..ad3bb3107 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 053e7675b..5a59f7b01 100644 --- a/compiler/rust/rust-std/unit-values/provenance.json +++ b/compiler/rust/rust-std/unit-values/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 c40fbf48f..b79dcec39 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":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"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 502cd11f3..7b2cb88be 100644 --- a/compiler/rust/rust-std/wide-shapes/provenance.json +++ b/compiler/rust/rust-std/wide-shapes/provenance.json @@ -1 +1 @@ -{"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":["41e3a4ce26cb7cc785af7be14683ebb407cc2a5a6124f61d9b46a55975eb5ca5"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/crates/conformance/src/cases/proofs.rs b/crates/conformance/src/cases/proofs.rs index ebe0183eb..97d71a368 100644 --- a/crates/conformance/src/cases/proofs.rs +++ b/crates/conformance/src/cases/proofs.rs @@ -1,4 +1,4 @@ -//! The `proofs` suite: PF-01..PF-19. +//! The `proofs` suite: PF-01..PF-23. //! //! Positive forms are asserted against the shared Lean-verified proof //! corpus (`support::verified_corpus`): every case first asserts the @@ -37,6 +37,165 @@ fn conditional_lemma_pair( ) } +/// The rewrite set the committed fold-law registry gives +/// `linear_arithmetic` (§17.12, *Fold laws*), read from the file rather than +/// from the compiler, so that a backend that stopped reading it is caught. +fn registered_rewrites() -> Vec { + let text = std::fs::read_to_string( + support::repo_root() + .join("language/runtime-1.2/laws.toml") + .as_std_path(), + ) + .expect("the fold-law registry"); + let registry: toml::Value = toml::from_str(&text).expect("the registry is TOML"); + registry["rewrites"] + .as_array() + .expect("an ordered rewrite set") + .iter() + .map(|name| name.as_str().expect("a Lean name").to_owned()) + .collect() +} + +/// The fixed `linear_arithmetic` script of §17.12 at one level of +/// indentation, unfolding `definitions`. +fn linear_script(definitions: &[&str]) -> String { + let fixed = [ + ("UInt8", "toNat"), + ("UInt16", "toNat"), + ("UInt32", "toNat"), + ("UInt64", "toNat"), + ("Int8", "toInt"), + ("Int16", "toInt"), + ("Int32", "toInt"), + ("Int64", "toInt"), + ]; + let mut lemmas: Vec = definitions.iter().map(|name| (*name).to_owned()).collect(); + lemmas.extend( + [ + "← Bool.not_eq_true", + "Bool.and_eq_true", + "Bool.or_eq_true", + "Bool.not_eq_true'", + "and_true", + "true_and", + "Option.some.injEq", + "Nat.beq_eq", + "Nat.blt_eq", + "Nat.ble_eq", + "LexLeanRuntime.subtract", + "LexLeanRuntime.multiply", + "LexLeanRuntime.negate", + "LexLeanRuntime.equal", + "beq_iff_eq", + "decide_eq_true_eq", + "decide_eq_false_iff_not", + "Nat.add_assoc", + "Int.add_assoc", + "Int.neg_neg", + "Int.emod_neg", + "Int.neg_zero", + "↓reduceIte", + ] + .map(str::to_owned), + ); + lemmas.extend(registered_rewrites()); + for (ty, value) in fixed { + lemmas.push(format!("{ty}.le_iff_{value}_le")); + lemmas.push(format!("{ty}.lt_iff_{value}_lt")); + } + for (ty, value) in fixed { + let reduce = if value == "toNat" { "ToNat" } else { "ToInt" }; + lemmas.push(format!("{ty}.reduce{reduce}")); + lemmas.push(format!("← {ty}.{value}_inj")); + } + let mut bits: Vec = fixed + .iter() + .map(|(ty, value)| format!("{ty}.{value}")) + .collect(); + bits.push("BitVec.toInt_eq_toNat_cond".to_owned()); + let subst = if definitions.is_empty() { + "" + } else { + " subst_vars\n" + }; + format!( + " intros\n{subst} try set_option linter.unusedSimpArgs false in simp only [{}] at *\n try set_option linter.unusedSimpArgs false in simp only [{}] at *\n all_goals (repeat' split)\n all_goals omega\n", + lemmas.join(", "), + bits.join(", ") + ) +} + +/// The theorems of `file` in `project` that a verification failure names: +/// every `LLV7002` diagnostic's source span, mapped to the declaration whose +/// source block holds it. +fn refused_theorems(project: &P, file: &str, error: &lexlean::LexLeanError) -> Vec { + let source = project.read_raw(file); + let mut names: Vec = error + .diagnostics + .iter() + .filter(|diagnostic| diagnostic.code.as_str() == "LLV7002") + .filter_map(|diagnostic| diagnostic.primary.as_ref()) + .filter(|span| span.path.ends_with(file)) + .filter_map(|span| { + // The span may open at the declaration itself, so the block + // that holds it starts at or before the span's first byte. + let before = &source[..(span.byte_start + "theorem{".len()).min(source.len())]; + let block = before.rfind("theorem{")?; + let rest = &source[block..]; + let start = rest.find(" name: ")? + " name: ".len(); + let end = rest[start..].find(',')?; + Some(rest[start..start + end].to_owned()) + }) + .collect(); + names.sort(); + names.dedup(); + names +} + +/// A copy of the fold-laws example with each `(from, to)` replacement made +/// in `file`'s own notation, each `from` asserted present. +fn fold_laws_with(file: &str, edits: &[(&str, &str)]) -> P { + let copy = P::copy_example("fold-laws"); + let mut source = copy.read_raw(file); + for (from, to) in edits { + assert!(source.contains(from), "fold-laws/{file} lacks {from:?}"); + source = source.replacen(from, to, 1); + } + copy.write(file, &source); + copy +} + +/// [`fold_laws_with`] expecting linking to refuse the copy with `message`. +fn fold_laws_rejected(file: &str, from: &str, to: &str, message: &str) { + let copy = fold_laws_with(file, &[(from, to)]); + let error = copy.check_fails_with("LLT4001"); + assert!( + error.to_string().contains(message), + "expected {message:?}, got {error}" + ); +} + +/// Insert one declaration into the committed language-1.1 semantic example +/// and expect linking to refuse it with `message`. +fn semantic_1_1_rejects(declaration: &str, message: &str) { + let eleven = P::semantic_example(); + let source = eleven.read("src/Main.lex.tex"); + let anchor = r#""declarations":["#; + assert!( + source.contains(anchor), + "a declaration list in the 1.1 fixture" + ); + eleven.write( + "src/Main.lex.tex", + &source.replacen(anchor, &format!("{anchor}{declaration},"), 1), + ); + let error = eleven.check_fails_with("LLT4001"); + assert!( + error.to_string().contains(message), + "expected {message:?}, got {error}" + ); +} + fn project_with(module: &str) -> P { let project = P::example(); project.write("src/Main.lex.tex", module); @@ -652,9 +811,7 @@ pub(crate) fn run(id: &str) { let project = P::copy_example("recursion"); project.check_ok(); let main = support::lean_text(&support::rendered(&project), "Main"); - assert!(main.contains( - " intros\n try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at *\n all_goals omega\n" - ), "{main}"); + assert!(main.contains(&linear_script(&[])), "{main}"); let _ = support::verify_ok_backed("PF-19", &project); // The form names only definitions to unfold: no tactic name or // term can ride on it, and no unit-variant proof takes a member. @@ -683,7 +840,7 @@ pub(crate) fn run(id: &str) { let main_text = project.read("src/Main.lex.tex"); assert!(main_text .contains(r#"{"definitions":[{"name":"weight"}],"kind":"linear_arithmetic"}"#)); - assert!(main.contains(" intros\n subst_vars\n try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at *\n all_goals omega\n"), "{main}"); + assert!(main.contains(&linear_script(&["weight"])), "{main}"); // Language 1.1 rejects the form. let eleven = P::semantic_example(); let source = eleven.read("src/Main.lex.tex"); @@ -725,6 +882,317 @@ pub(crate) fn run(id: &str) { wrong.verify_fails_with("LLV7002"); } } + // §17.12: order over every integer type in language 1.2. + "PF-20" => { + let project = P::copy_example("fold-laws"); + project.check_ok(); + let build = support::rendered(&project); + let kernels = support::lean_text(&build, "Kernels"); + for statement in [ + "((x <= y) -> (requantize (x) <= requantize (y)))", + "((0 : Int) <= requantize (x))", + "((x <= y) -> ((y < z) -> (x < z)))", + "(x <= (255 : UInt8))", + "(((LexLeanCollections.lessThan (x) ((-128 : Int8)) : Bool) = false) /\\ (x <= (127 : Int8)))", + ] { + assert!(kernels.contains(statement), "{statement}\n{kernels}"); + } + fold_laws_rejected( + "src/Kernels.lex.tex", + "statement: ((0 : Int) <= (requantize x)),", + "statement: (0 <= (requantize x)),", + "order right operand has type Int, expected Nat", + ); + fold_laws_rejected( + "src/Kernels.lex.tex", + "statement: ((0 : Int) <= (requantize x)),", + "statement: (\"a\" <= \"b\"),", + "order operand has type String, expected Nat, Int, or a fixed-width integer", + ); + fold_laws_rejected( + "src/Kernels.lex.tex", + "statement: (x <= (255 : UInt8)),", + "statement: (x <= (255 : UInt16)),", + "order right operand has type UInt16, expected UInt8", + ); + semantic_1_1_rejects( + r#"{"axioms":[],"kind":"theorem","name":"int_order","parameters":[{"name":"x","type":{"kind":"int"}}],"proof":{"kind":"reflexivity"},"statement":{"kind":"le","left":{"kind":"var","name":"x"},"right":{"kind":"var","name":"x"}}}"#, + "order left operand has type Int, expected Nat", + ); + let _ = support::verify_ok_backed("PF-20", &project); + } + // §17.12: linear_arithmetic reads the runtime. + "PF-21" => { + let project = P::copy_example("fold-laws"); + project.check_ok(); + let build = support::rendered(&project); + let kernels = support::lean_text(&build, "Kernels"); + assert!( + kernels.contains("public import LexLeanRuntime.Laws\n"), + "a module with linear_arithmetic imports the laws module\n{kernels}" + ); + assert!( + kernels.contains(&format!( + "(requantize (x) <= (255 : Int)) := by\n{}", + linear_script(&["requantize"]) + )), + "the fixed script with the unfolded definition\n{kernels}" + ); + assert!( + kernels.contains(&format!("(x < (6 : UInt8))) := by\n{}", linear_script(&[]))), + "the fixed script without definitions\n{kernels}" + ); + let _ = support::verify_ok_backed("PF-21", &project); + // The form decides, it does not assume: each false kernel links + // and is refused by Lean. + if support::lean_backed("PF-21") { + let wrong = fold_laws_with( + "src/Kernels.lex.tex", + &[ + ( + "statement: ((requantize x) <= (255 : Int)),", + "statement: ((requantize x) <= (254 : Int)),", + ), + ( + "(prim negate (prim remainder a (7 : Int) (0 : Int) : Int) : Int) : Int) = a),", + "(prim remainder a (7 : Int) (0 : Int) : Int) : Int) = a),", + ), + ( + "statement: ((x <= (5 : UInt8)) -> (x < (6 : UInt8))),", + "statement: ((x <= (5 : UInt8)) -> (x < (5 : UInt8))),", + ), + ], + ); + wrong.check_ok(); + let _guard = support::env_shared(); + let error = wrong.verify_fails_with("LLV7002"); + assert_eq!( + refused_theorems(&wrong, "src/Kernels.lex.tex", &error), + ["byte_literal", "requantize_high", "truncating_division"], + "{error}" + ); + } + } + // §17.12, §22.6: the fold laws as LexLean source. + "PF-22" => { + use lexlean::backend::runtime; + let modules = runtime::modules().expect("the shipped runtime"); + let laws = modules + .iter() + .find(|module| module.name == runtime::LAWS) + .expect("the laws module is a runtime module"); + assert_eq!(laws.imports, [runtime::PORTABLE, runtime::COLLECTIONS]); + let path = runtime::native_source_path(runtime::LAWS).expect("a native path"); + let source = std::fs::read_to_string(support::repo_root().join(&path).as_std_path()) + .expect("the native laws source"); + assert!( + source.contains("\\begin{coremodule}") && !source.contains("\\coredata{"), + "the laws are a native core module in the notation" + ); + for name in registered_rewrites().iter().chain( + [ + "LexLeanLaws.listFold_fusion", + "LexLeanLaws.listFold_pair", + "LexLeanLaws.listFold_append", + ] + .map(str::to_owned) + .iter(), + ) { + assert!( + laws.declarations + .iter() + .any(|(declared, _)| declared == name), + "`{name}` is a declaration of the laws module" + ); + } + // Laws an application or the rewrite set relies on carry no + // axiom beyond the three Lean's standard library uses. + for (name, axioms) in &laws.declarations { + assert!( + axioms + .iter() + .all(|axiom| ["Quot.sound", "propext"].contains(&axiom.as_str())), + "`{name}` pins {axioms:?}" + ); + } + let registry = std::fs::read_to_string( + support::repo_root() + .join("language/runtime-1.2/laws.toml") + .as_std_path(), + ) + .expect("the fold-law registry"); + runtime::check_laws_registry(®istry).expect("the shipped registry"); + let missing = registry.replacen( + "\"LexLeanLaws.sumNat_append\",", + "\"LexLeanLaws.sumNat_rotate\",", + 1, + ); + let error = runtime::check_laws_registry(&missing).expect_err("a missing rewrite"); + assert!( + error.contains( + "`LexLeanLaws.sumNat_rotate` is not a declaration of `LexLeanRuntime.Laws`" + ), + "{error}" + ); + let twice = registry.replacen( + "name = \"list_fold_pair\"", + "name = \"list_fold_fusion\"", + 1, + ); + let error = runtime::check_laws_registry(&twice).expect_err("a law registered twice"); + assert!( + error.contains("law `list_fold_fusion` is registered twice"), + "{error}" + ); + // A law that only bounds its axioms is refused: every row pins + // them exactly. + let unpinned = source.replacen( + "policy: exact{axioms: [Quot.sound, propext]}", + "policy: allow{axioms: [Quot.sound, propext]}", + 1, + ); + assert_ne!(unpinned, source, "a law that pins Quot.sound and propext"); + let error = runtime::check_native_sources(&|candidate| { + if candidate == path { + Ok(unpinned.clone()) + } else { + std::fs::read_to_string(support::repo_root().join(candidate).as_std_path()) + .map_err(|error| error.to_string()) + } + }) + .expect_err("a laws row that does not pin its axioms"); + assert!(error.contains("does not pin its axioms exactly"), "{error}"); + // decide is used only on closed instances. + let project = P::copy_example("fold-laws"); + for file in [ + "src/Kernels.lex.tex", + "src/Folds.lex.tex", + "src/Main.lex.tex", + ] { + let module = support::module_json(&project.read_raw(file)); + for declaration in module["declarations"].as_array().expect("declarations") { + if declaration["proof"]["kind"] == "decide" { + assert!( + declaration["parameters"] + .as_array() + .is_none_or(Vec::is_empty), + "{file}: a decide proof of an open statement: {declaration}" + ); + } + } + } + project.check_ok(); + let build = support::rendered(&project); + let folds = support::lean_text(&build, "Folds"); + assert!( + folds.contains(&format!( + "(total (xs) + total (xs))) := by\n{}", + linear_script(&["doubledTotal", "total"]) + )), + "{folds}" + ); + let _ = support::verify_ok_backed("PF-22", &project); + if support::lean_backed("PF-22") { + let wrong = fold_laws_with( + "src/Folds.lex.tex", + &[ + ( + "statement: ((doubledTotal xs) = ((total xs) + (total xs))),", + "statement: ((doubledTotal xs) = ((total xs) + (count xs))),", + ), + ( + "statement: ((total (reversed xs)) = (total xs)),", + "statement: ((total (reversed xs)) = (count xs)),", + ), + ( + "statement: ((entryTotal m) = ((keyTotal m) + (valueTotal m))),", + "statement: ((entryTotal m) = ((keyTotal m) + (keyTotal m))),", + ), + ], + ); + wrong.check_ok(); + let _guard = support::env_shared(); + let error = wrong.verify_fails_with("LLV7002"); + assert_eq!( + refused_theorems(&wrong, "src/Folds.lex.tex", &error), + ["doubled_total", "map_split", "total_reversed"], + "{error}" + ); + } + } + // §17.12: the law proof form. + "PF-23" => { + let project = P::copy_example("fold-laws"); + project.check_ok(); + let build = support::rendered(&project); + let main = support::lean_text(&build, "Main"); + for application in [ + " exact @LexLeanLaws.listFold_pair (Nat) (Nat) (Nat) ((fun (acc : Nat) (v : Nat) => (acc + v))) ((fun (acc : Nat) (_v : Nat) => (acc + 1))) (0) (0) (xs)\n", + " exact @LexLeanLaws.listFold_fusion (Nat) (Nat) (Nat) ((fun (acc : Nat) (v : Nat) => (acc + v))) ((fun (acc : Nat) (v : Nat) => (LexLeanRuntime.remainder ((acc + v)) (2) (0) : Nat))) ((fun (n : Nat) => (LexLeanRuntime.remainder (n) (2) (0) : Nat))) (0) (xs) parity_step\n", + " exact @LexLeanLaws.listFold_append (Nat) (Nat) ((fun (acc : Nat) (_v : Nat) => (acc + 1))) (0) (xs) (ys)\n", + ] { + assert!(main.contains(application), "{application}\n{main}"); + } + let file = "src/Main.lex.tex"; + fold_laws_rejected( + file, + " name: list_fold_pair,", + " name: list_fold_triple,", + "`list_fold_triple` is not a registered law", + ); + fold_laws_rejected( + file, + " 0,\n 0,\n xs\n ],\n type_arguments: [Nat, Nat, Nat]", + " 0,\n xs\n ],\n type_arguments: [Nat, Nat, Nat]", + "law `list_fold_pair` expects 5 argument(s), received 4", + ); + fold_laws_rejected( + file, + " 0,\n 0,\n xs\n ],\n type_arguments: [Nat, Nat, Nat]", + " 0,\n true,\n xs\n ],\n type_arguments: [Nat, Nat, Nat]", + "law application argument has type Bool, expected Nat", + ); + fold_laws_rejected( + file, + " 0,\n 0,\n xs\n ],\n type_arguments: [Nat, Nat, Nat]", + " 0,\n 0,\n xs\n ],\n type_arguments: [Nat, Nat]", + "law `list_fold_pair` expects 3 explicit type argument(s), received 2", + ); + fold_laws_rejected( + file, + " premises: [parity_step],\n", + "", + "law `list_fold_fusion` expects 1 premise(s), received 0", + ); + fold_laws_rejected( + file, + " premises: [parity_step],", + " premises: [count_append],", + "law `list_fold_fusion` premise names a forward or missing theorem `count_append`", + ); + semantic_1_1_rejects( + r#"{"axioms":[],"kind":"theorem","name":"law_use","parameters":[],"proof":{"arguments":[],"kind":"law","name":"list_fold_pair"},"statement":{"kind":"eq","left":{"kind":"nat","value":"0"},"right":{"kind":"nat","value":"0"}}}"#, + "`law proof` is a language-1.2 construct", + ); + let _ = support::verify_ok_backed("PF-23", &project); + if support::lean_backed("PF-23") { + let wrong = fold_laws_with( + file, + &[( + "statement: ((statistics xs) = ((Folds::total xs), (Folds::count xs))),", + "statement: ((statistics xs) = ((Folds::count xs), (Folds::total xs))),", + )], + ); + wrong.check_ok(); + let _guard = support::env_shared(); + let error = wrong.verify_fails_with("LLV7002"); + assert_eq!( + refused_theorems(&wrong, file, &error), + ["statistics_one_pass"], + "{error}" + ); + } + } other => panic!("no proofs case is wired for {other}"), } } diff --git a/crates/conformance/src/cases/repository.rs b/crates/conformance/src/cases/repository.rs index 42288fe02..1face755c 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(), 387, "§31 has 387 rows"); + assert_eq!(table.len(), 391, "§31 has 391 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 index d60bb1df9..2ba43c896 100644 --- a/crates/conformance/src/cases/runtime.rs +++ b/crates/conformance/src/cases/runtime.rs @@ -67,9 +67,10 @@ fn rt_01() { runtime::PORTABLE, runtime::COLLECTIONS, runtime::MODELS, - runtime::REASONING + runtime::REASONING, + runtime::LAWS ], - "the registry lists the four runtime modules in dependency order" + "the registry lists the five runtime modules in dependency order" ); // The registry lists the modules and nothing else. let registry: toml::Table = disk(runtime::REGISTRY_PATH) @@ -167,10 +168,15 @@ fn rt_01() { }); 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" - ); + for input in [ + "tests/runtime-library/oracle", + "tests/runtime-library/laws-oracle", + ] { + assert!( + !repo_root().join(input).exists(), + "{input}: 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`; diff --git a/crates/conformance/src/support.rs b/crates/conformance/src/support.rs index ca7d9af84..20da8b677 100644 --- a/crates/conformance/src/support.rs +++ b/crates/conformance/src/support.rs @@ -265,6 +265,11 @@ fn prove(value: &SnapshotProof) -> usize { SnapshotProof::Apply { type_arguments, arguments, .. } => { type_arguments.iter().map(ty).sum::() + arguments.iter().map(term).sum::() } + SnapshotProof::Law { type_arguments, arguments, premises, .. } => { + type_arguments.iter().map(ty).sum::() + + arguments.iter().map(term).sum::() + + premises.len() + } } } "#, diff --git a/crates/conformance/tests/conformance.rs b/crates/conformance/tests/conformance.rs index cc8bb91f2..d029966d2 100644 --- a/crates/conformance/tests/conformance.rs +++ b/crates/conformance/tests/conformance.rs @@ -745,6 +745,26 @@ fn conformance_pf_19() { repo_conformance::cases::run("PF-19"); } +#[test] +fn conformance_pf_20() { + repo_conformance::cases::run("PF-20"); +} + +#[test] +fn conformance_pf_21() { + repo_conformance::cases::run("PF-21"); +} + +#[test] +fn conformance_pf_22() { + repo_conformance::cases::run("PF-22"); +} + +#[test] +fn conformance_pf_23() { + repo_conformance::cases::run("PF-23"); +} + #[test] fn conformance_ln_01() { repo_conformance::cases::run("LN-01"); diff --git a/crates/lexlean/src/backend/runtime.rs b/crates/lexlean/src/backend/runtime.rs index 5752c81cd..f243749b8 100644 --- a/crates/lexlean/src/backend/runtime.rs +++ b/crates/lexlean/src/backend/runtime.rs @@ -51,6 +51,10 @@ pub const MODELS: &str = "LexLeanRuntime.Models"; /// The reasoning propositions and lemmas (`LexLeanReasoning`). pub const REASONING: &str = "LexLeanRuntime.Reasoning"; +/// The fold laws (`LexLeanLaws`): the bridges and laws `linear_arithmetic` +/// rewrites with and a `law` proof applies. +pub const LAWS: &str = "LexLeanRuntime.Laws"; + /// 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"; @@ -185,9 +189,53 @@ fn build(read: &dyn Fn(&str) -> Result) -> Result Result<(), String> { + let path = crate::ir::semantic::laws::REGISTRY_PATH; + let module = modules + .iter() + .find(|module| module.name == registry.module) + .ok_or_else(|| format!("{path}: `{}` is not a runtime module", registry.module))?; + for name in registry + .rewrites + .iter() + .chain(registry.laws.iter().map(|law| &law.lean)) + { + if !module + .declarations + .iter() + .any(|(declared, _)| declared == name) + { + return Err(format!( + "{path}: `{name}` is not a declaration of `{}`", + registry.module + )); + } + } + Ok(()) +} + +/// Check a fold-law registry read from `text` against the shipped runtime: +/// the conformance gate plants defects in the registry this way. +/// +/// # Errors +/// +/// Returns the first reason the registry is refused. +pub fn check_laws_registry(text: &str) -> Result<(), String> { + let registry = crate::ir::semantic::laws::check_registry(text)?; + let modules = modules().map_err(|diagnostic| diagnostic.message)?; + check_laws(modules, ®istry) +} + /// 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. @@ -297,11 +345,17 @@ mod tests { super::PORTABLE, super::COLLECTIONS, super::MODELS, - super::REASONING + super::REASONING, + super::LAWS ] ); - let reasoning = modules.last().expect("the reasoning module"); - assert_eq!(reasoning.imports, [super::PORTABLE, super::COLLECTIONS]); + for imported_by_both in [super::REASONING, super::LAWS] { + let module = modules + .iter() + .find(|module| module.name == imported_by_both) + .expect("a registered module"); + assert_eq!(module.imports, [super::PORTABLE, super::COLLECTIONS]); + } assert!(modules.iter().all(|module| !module.declarations.is_empty())); } diff --git a/crates/lexlean/src/backend/semantic.rs b/crates/lexlean/src/backend/semantic.rs index c71132924..f1815f609 100644 --- a/crates/lexlean/src/backend/semantic.rs +++ b/crates/lexlean/src/backend/semantic.rs @@ -24,9 +24,6 @@ struct Render<'a> { /// §17.12: in a well-founded definition, each `if` (by node address) /// lowers to a dependent match binding its numbered hypothesis. hypotheses: std::collections::BTreeMap, - /// Whether this module emits the portable runtime, whose Nat - /// subtraction and multiplication `linear_arithmetic` unfolds. - runtime: bool, /// Whether this renders the canonical document, which names a map and /// a set by their own type constructors rather than by the list /// encoding Lean receives (§17.12). @@ -134,7 +131,7 @@ fn proof_uses(proof: &SemanticProof, local: &str) -> bool { } => parameter == local || values == local, SemanticReflection::Record { record, .. } => record == local, }, - SemanticProof::Apply { arguments, .. } => { + SemanticProof::Apply { arguments, .. } | SemanticProof::Law { arguments, .. } => { arguments.iter().any(|argument| term_uses(argument, local)) } } @@ -557,7 +554,6 @@ impl Render<'_> { let qualified = Render { prefix: self.prefix, hypotheses: std::collections::BTreeMap::new(), - runtime: self.runtime, document: false, qualify: Some(module), }; @@ -1072,25 +1068,11 @@ impl Render<'_> { SemanticProof::Reflexivity => format!("{pad}rfl\n"), SemanticProof::Decide => format!("{pad}decide\n"), SemanticProof::LinearArithmetic { definitions } => { - let runtime = if self.runtime { - ", LexLeanRuntime.subtract, LexLeanRuntime.multiply" - } else { - "" - }; - if definitions.is_empty() { - format!( - "{pad}intros\n{pad}try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq{runtime}] at *\n{pad}all_goals omega\n" - ) - } else { - format!( - "{pad}intros\n{pad}subst_vars\n{pad}try set_option linter.unusedSimpArgs false in simp only [{}, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq{runtime}] at *\n{pad}all_goals omega\n", - definitions - .iter() - .map(|member| self.member(member)) - .collect::>() - .join(", ") - ) - } + let unfolded = definitions + .iter() + .map(|member| self.member(member)) + .collect::>(); + linear_arithmetic(&pad, &unfolded) } SemanticProof::Simplify { definitions } => format!( "{pad}simp only [{}]\n", @@ -1197,6 +1179,32 @@ impl Render<'_> { ) } }, + SemanticProof::Law { + name, + type_arguments, + arguments, + premises, + } => { + // Linking resolved the law; a law it did not resolve never + // reaches the backend. + let lean = crate::ir::semantic::laws::law(name) + .map_or_else(|_| identifier(name), |law| law.lean.clone()); + let arguments = type_arguments + .iter() + .map(|argument| format!(" ({})", self.ty(argument))) + .chain( + arguments + .iter() + .map(|argument| format!(" ({})", self.term(argument))), + ) + .chain( + premises + .iter() + .map(|premise| format!(" {}", self.member(premise))), + ) + .collect::(); + format!("{pad}exact @{lean}{arguments}\n") + } SemanticProof::Apply { theorem, type_arguments, @@ -1217,6 +1225,89 @@ impl Render<'_> { } } +/// The fixed Boolean comparisons `linear_arithmetic` reflects into +/// propositions, and the runtime definitions it unfolds (§17.12). +const LINEAR_BRIDGES: &[&str] = &[ + "← Bool.not_eq_true", + "Bool.and_eq_true", + "Bool.or_eq_true", + "Bool.not_eq_true'", + "and_true", + "true_and", + "Option.some.injEq", + "Nat.beq_eq", + "Nat.blt_eq", + "Nat.ble_eq", + "LexLeanRuntime.subtract", + "LexLeanRuntime.multiply", + "LexLeanRuntime.negate", + "LexLeanRuntime.equal", + "beq_iff_eq", + "decide_eq_true_eq", + "decide_eq_false_iff_not", + "Nat.add_assoc", + "Int.add_assoc", + "Int.neg_neg", + "Int.emod_neg", + "Int.neg_zero", + "↓reduceIte", +]; + +/// The fixed-width integer types in the order `linear_arithmetic` names +/// their order lemmas, each with the projection to its mathematical value. +const FIXED_WIDTH: &[(&str, &str)] = &[ + ("UInt8", "toNat"), + ("UInt16", "toNat"), + ("UInt32", "toNat"), + ("UInt64", "toNat"), + ("Int8", "toInt"), + ("Int16", "toInt"), + ("Int32", "toInt"), + ("Int64", "toInt"), +]; + +/// The fixed `linear_arithmetic` script (§17.12): introduce the goal, and +/// with named definitions substitute and unfold them; rewrite the runtime's +/// comparisons, arithmetic, and folds into linear arithmetic through the +/// bridges and the registered fold laws, with fixed-width order and +/// equality read on the mathematical values (literals evaluated first); +/// read every remaining fixed-width value as the bounded natural number of +/// its bits, so `omega` knows its range; split every `if` and `match` left +/// in the goal; and decide each case with `omega`. A goal the simplifier +/// closed leaves nothing for `omega`. +fn linear_arithmetic(pad: &str, definitions: &[String]) -> String { + let rewrites = crate::ir::semantic::laws::registry() + .map(|registry| registry.rewrites.as_slice()) + .unwrap_or_default(); + let mut lemmas: Vec = definitions.to_vec(); + lemmas.extend(LINEAR_BRIDGES.iter().map(|lemma| (*lemma).to_owned())); + lemmas.extend(rewrites.iter().cloned()); + for (ty, value) in FIXED_WIDTH { + lemmas.push(format!("{ty}.le_iff_{value}_le")); + lemmas.push(format!("{ty}.lt_iff_{value}_lt")); + } + for (ty, value) in FIXED_WIDTH { + let reduce = if *value == "toNat" { "ToNat" } else { "ToInt" }; + lemmas.push(format!("{ty}.reduce{reduce}")); + lemmas.push(format!("← {ty}.{value}_inj")); + } + let mut bits: Vec = FIXED_WIDTH + .iter() + .map(|(ty, value)| format!("{ty}.{value}")) + .collect(); + bits.push("BitVec.toInt_eq_toNat_cond".to_owned()); + let subst = if definitions.is_empty() { + String::new() + } else { + format!("{pad}subst_vars\n") + }; + format!( + "{pad}intros\n{subst}{pad}try set_option linter.unusedSimpArgs false in simp only [{}] at *\n{pad}try set_option linter.unusedSimpArgs false in simp only [{}] at *\n{pad}all_goals (repeat' split)\n{pad}all_goals omega\n", + lemmas.join(", "), + bits.join(", ") + ) +} + /// §17.12 well-founded lowering: a semireducible definition whose `if` /// nodes bind numbered hypotheses, the declared measure, and one explicit /// evidence application per recursive call site. @@ -1250,7 +1341,6 @@ fn well_founded_definition( })?; let render = Render { prefix: base.prefix, - runtime: base.runtime, hypotheses: plan .addresses .iter() @@ -1656,7 +1746,6 @@ pub fn render_lean( let base_render = Render { prefix: module_prefix, hypotheses: std::collections::BTreeMap::new(), - runtime, document: false, qualify: None, }; @@ -1666,7 +1755,6 @@ pub fn render_lean( let model_render = Render { prefix: module_prefix, hypotheses: std::collections::BTreeMap::new(), - runtime, document: false, qualify: Some(&document.lean_module), }; @@ -1683,14 +1771,19 @@ pub fn render_lean( let models = module.declarations.iter().any(|declaration| { crate::ir::semantic::model::declaration_construct(declaration).is_some() }); + // §17.12 (fold laws): `linear_arithmetic` rewrites with the laws + // module and `law` applies it, so a module with either proof uses it. + let laws = elaborated.contains("\"kind\":\"linear_arithmetic\"") + || elaborated.contains("\"kind\":\"law\""); let mut text = String::from("module\npublic import Init\n"); if language_1_2 { - use crate::backend::runtime::{COLLECTIONS, MODELS, PORTABLE, REASONING}; + use crate::backend::runtime::{COLLECTIONS, LAWS, MODELS, PORTABLE, REASONING}; for (used, runtime_module) in [ (runtime, PORTABLE), (collections, COLLECTIONS), (models, MODELS), (reasoning, REASONING), + (laws, LAWS), ] { if used { text.push_str(&format!("public import {runtime_module}\n")); @@ -2639,7 +2732,6 @@ pub fn render_latex( let render = Render { prefix: module_prefix, hypotheses: std::collections::BTreeMap::new(), - runtime: false, document: true, qualify: None, }; diff --git a/crates/lexlean/src/config.rs b/crates/lexlean/src/config.rs index 846dfe274..6bca577f1 100644 --- a/crates/lexlean/src/config.rs +++ b/crates/lexlean/src/config.rs @@ -266,20 +266,22 @@ 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 -/// namespaces of the runtime modules' collection, model, and reasoning -/// definitions (`LexLeanCollections`, `LexLeanModels`, `LexLeanReasoning`), +/// namespaces of the runtime modules' collection, model, reasoning, and +/// fold-law definitions (`LexLeanCollections`, `LexLeanModels`, +/// `LexLeanReasoning`, `LexLeanLaws`), /// 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; 10] = [ +pub const SHIPPED_ROOTS: [&str; 11] = [ "LexLeanAudit", "LexLeanCollections", "LexLeanCore", "LexLeanExtract", "LexLeanIdentityProbe", + "LexLeanLaws", "LexLeanModels", "LexLeanPreserve", "LexLeanProbe", diff --git a/crates/lexlean/src/ir/semantic.rs b/crates/lexlean/src/ir/semantic.rs index 341a28d35..2215b59c6 100644 --- a/crates/lexlean/src/ir/semantic.rs +++ b/crates/lexlean/src/ir/semantic.rs @@ -9,6 +9,7 @@ use std::collections::{BTreeMap, BTreeSet}; use serde::{Deserialize, Serialize}; +pub mod laws; pub mod model; pub mod reasoning; @@ -643,6 +644,18 @@ pub enum SemanticProof { BooleanReflection { reflection: SemanticReflection, }, + /// Language 1.2: exact application of one registered law of the + /// runtime's fold-law module (§17.12, *Fold laws*) to checked type + /// arguments and arguments, with prior theorems discharging its premises + /// in order. + Law { + name: String, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + type_arguments: Vec, + arguments: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + premises: Vec, + }, /// Exact application of one prior theorem to checked semantic arguments. Apply { theorem: MemberRef, @@ -2052,7 +2065,9 @@ fn proof_node_count(proof: &SemanticProof) -> u64 { .map(|branch| proof_node_count(&branch.proof)) .sum() } - SemanticProof::Apply { arguments, .. } => arguments.iter().map(term_node_count).sum(), + SemanticProof::Apply { arguments, .. } | SemanticProof::Law { arguments, .. } => { + arguments.iter().map(term_node_count).sum() + } } } @@ -2798,7 +2813,7 @@ fn proof_terms(proof: &SemanticProof, visit: &mut impl FnMut(&SemanticTerm)) { proof_terms(&branch.proof, visit); } } - SemanticProof::Apply { arguments, .. } => { + SemanticProof::Apply { arguments, .. } | SemanticProof::Law { arguments, .. } => { for argument in arguments { visit_terms(argument, visit); } @@ -2824,7 +2839,7 @@ fn proof_terms_mut(proof: &mut SemanticProof, visit: &mut impl FnMut(&mut Semant proof_terms_mut(&mut branch.proof, visit); } } - SemanticProof::Apply { arguments, .. } => { + SemanticProof::Apply { arguments, .. } | SemanticProof::Law { arguments, .. } => { for argument in arguments { visit_terms_mut(argument, visit); } @@ -2902,8 +2917,9 @@ pub fn reserved_module_segment(name: &str) -> Option<&str> { /// The names the backend writes without qualification (see /// [`is_backend_bare_name`]). -pub const BACKEND_BARE_NAMES: [&str; 37] = [ +pub const BACKEND_BARE_NAMES: [&str; 43] = [ "And", + "BitVec", "Bool", "ByteArray", "Except", @@ -2914,6 +2930,7 @@ pub const BACKEND_BARE_NAMES: [&str; 37] = [ "Int64", "Int8", "LexLeanCollections", + "LexLeanLaws", "LexLeanModels", "LexLeanReasoning", "LexLeanRuntime", @@ -2933,10 +2950,14 @@ pub const BACKEND_BARE_NAMES: [&str; 37] = [ "Unit", "and_congr", "and_true", + "beq_iff_eq", "congr", "decide", + "decide_eq_false_iff_not", + "decide_eq_true_eq", "false", "id", + "reduceIte", "rfl", "true", "true_and", @@ -2950,6 +2971,7 @@ fn proof_binders(proof: &SemanticProof, visit: &mut impl FnMut(&str)) { | SemanticProof::Congruence | SemanticProof::BooleanReflection { .. } | SemanticProof::LinearArithmetic { .. } + | SemanticProof::Law { .. } | SemanticProof::Apply { .. } => {} SemanticProof::Constructor { branches } => { for branch in branches { @@ -3228,7 +3250,9 @@ fn proof_type_arguments(proof: &SemanticProof, visit: &mut impl FnMut(&SemanticT proof_type_arguments(&branch.proof, visit); } } - SemanticProof::Apply { type_arguments, .. } => type_arguments.iter().for_each(visit), + SemanticProof::Apply { type_arguments, .. } | SemanticProof::Law { type_arguments, .. } => { + type_arguments.iter().for_each(visit); + } } } @@ -7656,8 +7680,28 @@ fn infer_term( Ok(Some(SemanticType::Prop)) } SemanticTerm::Le { left, right } | SemanticTerm::Lt { left, right } => { - require_type(infer(left)?, &SemanticType::Nat, "order left operand")?; - require_type(infer(right)?, &SemanticType::Nat, "order right operand")?; + // Language 1.2 orders every integer type by its mathematical + // value; language 1.1 keeps the released Nat-only order. + let left = infer(left)?; + let right = infer(right)?; + match (&left, &right) { + (Some(operand), _) | (None, Some(operand)) + if env.language_1_2 && *operand != SemanticType::Nat => + { + if integer_representation(operand).is_none() { + return Err(format!( + "order operand has type {operand}, expected Nat, Int, or a fixed-width integer" + )); + } + let operand = operand.clone(); + require_type(left, &operand, "order left operand")?; + require_type(right, &operand, "order right operand")?; + } + _ => { + require_type(left, &SemanticType::Nat, "order left operand")?; + require_type(right, &SemanticType::Nat, "order right operand")?; + } + } Ok(Some(SemanticType::Prop)) } SemanticTerm::Add { left, right } => { @@ -7870,6 +7914,67 @@ fn check_proof( } Ok(()) } + SemanticProof::Law { + name, + type_arguments, + arguments, + premises, + } => { + require_language_1_2(env, "law proof")?; + let law = laws::law(name)?; + if law.type_parameters.len() != type_arguments.len() { + return Err(format!( + "law `{name}` expects {} explicit type argument(s), received {}", + law.type_parameters.len(), + type_arguments.len() + )); + } + for argument in type_arguments { + check_type_argument(argument, env)?; + } + let instantiation: BTreeMap = law + .type_parameters + .iter() + .cloned() + .zip(type_arguments.iter().cloned()) + .collect(); + if law.parameters.len() != arguments.len() { + return Err(format!( + "law `{name}` expects {} argument(s), received {}", + law.parameters.len(), + arguments.len() + )); + } + let local_names = locals.keys().cloned().collect(); + for (argument, parameter) in arguments.iter().zip(&law.parameters) { + check_term(argument, &local_names, env, None, &BTreeSet::new())?; + require_type( + infer_term(argument, locals, env)?, + &substitute_type(parameter, &instantiation), + "law application argument", + )?; + } + if law.premises != premises.len() { + return Err(format!( + "law `{name}` expects {} premise(s), received {}", + law.premises, + premises.len() + )); + } + // A premise is discharged by a prior theorem; what it states is + // checked by Lean against the law, as `apply` leaves the + // statement to Lean. + for premise in premises { + check_member(premise, env)?; + if !env.proof_rules.contains_key(&member_key(premise)) { + return Err(format!( + "law `{name}` premise names a forward or missing theorem `{}`", + member_key(premise) + )); + } + } + Ok(()) + } SemanticProof::Simplify { definitions } => { if definitions.is_empty() { return Err("simplify requires at least one named definition".to_owned()); diff --git a/crates/lexlean/src/ir/semantic/laws.rs b/crates/lexlean/src/ir/semantic/laws.rs new file mode 100644 index 000000000..21c414383 --- /dev/null +++ b/crates/lexlean/src/ir/semantic/laws.rs @@ -0,0 +1,120 @@ +//! The fold laws of language 1.2 (SPEC.md §17.12, *Fold laws*), as linking +//! and the Lean backend read them. +//! +//! The laws are LexLean source: the native runtime module +//! `LexLeanRuntime.Laws`, whose rows pin their axioms like every runtime +//! module's. This registry, `language/runtime-1.2/laws.toml`, names what +//! the compiler uses of it: the ordered rewrite set of `linear_arithmetic` +//! and the laws a `law` proof applies, with the semantic types linking +//! checks an application against. It states no law: Lean checks each +//! application against the module's own statement, and the runtime build +//! refuses a registry that names a declaration the module does not have. + +use std::sync::OnceLock; + +use serde::Deserialize; + +use super::SemanticType; + +/// The registry's path; it lies in the language-1.2 partition of the +/// compiler semantics, so it is hashed with the module it names. +pub const REGISTRY_PATH: &str = "language/runtime-1.2/laws.toml"; + +/// The registry's tag. +pub const REGISTRY_SPEC: &str = "lexlean/runtime-laws/1"; + +/// One law a `law` proof applies by name. +#[derive(Debug, Clone, PartialEq, Eq, Deserialize)] +#[serde(deny_unknown_fields)] +pub struct Law { + /// Its LexLean name, as a `law` proof writes it. + pub name: String, + /// The Lean theorem of the laws module it applies. + pub lean: String, + /// The explicit type parameters, in the theorem's binder order. + pub type_parameters: Vec, + /// The explicit parameter types, in the theorem's binder order. + pub parameters: Vec, + /// How many premises follow the parameters, each discharged by a prior + /// theorem. + pub premises: usize, +} + +/// The parsed registry. +#[derive(Debug, Clone, PartialEq, Eq, Deserialize)] +#[serde(deny_unknown_fields)] +pub struct Registry { + spec: String, + /// The runtime module that declares every name below. + pub module: String, + /// The rewrite set of `linear_arithmetic`, in order. + pub rewrites: Vec, + /// The laws a `law` proof applies. + #[serde(rename = "law")] + pub laws: Vec, +} + +fn parse(text: &str) -> Result { + 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 + )); + } + let mut names = std::collections::BTreeSet::new(); + for law in ®istry.laws { + if !names.insert(law.name.as_str()) { + return Err(format!( + "{REGISTRY_PATH}: law `{}` is registered twice", + law.name + )); + } + } + Ok(registry) +} + +/// Check a registry read from `text` instead of the embedded one: the +/// conformance gate plants defects this way. +/// +/// # Errors +/// +/// Returns the first reason the registry is refused. +pub fn check_registry(text: &str) -> Result { + parse(text) +} + +/// The shipped registry. +/// +/// # Errors +/// +/// Returns why the embedded registry is missing or malformed: a broken +/// build, which callers report as an internal error. +pub fn registry() -> Result<&'static Registry, String> { + static REGISTRY: OnceLock> = OnceLock::new(); + REGISTRY + .get_or_init(|| { + let text = crate::embedded::FILES + .iter() + .find(|(path, _)| *path == REGISTRY_PATH) + .and_then(|(_, bytes)| std::str::from_utf8(bytes).ok()) + .ok_or_else(|| format!("embedded `{REGISTRY_PATH}` is missing"))?; + parse(text) + }) + .as_ref() + .map_err(Clone::clone) +} + +/// The registered law named `name`. +/// +/// # Errors +/// +/// Returns why the registry cannot be read, or that no law has the name. +pub fn law(name: &str) -> Result<&'static Law, String> { + registry()? + .laws + .iter() + .find(|law| law.name == name) + .ok_or_else(|| format!("`{name}` is not a registered law")) +} diff --git a/examples/collections/expected/build/manifest.json b/examples/collections/expected/build/manifest.json index 7c6cbf558..39ef2ebe4 100644 --- a/examples/collections/expected/build/manifest.json +++ b/examples/collections/expected/build/manifest.json @@ -1 +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"} +{"build_id":"ac124d1180ddb68f98c084b4dac30aabebf67833b2f7022740d35170cfd4cdad","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"fd901c4213738498c3011edd4f98d938af8d089efd79c3dd24a98893ff929472"},{"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":"3f2573bf54687a8f554f76e9e46780cca51d4da41734d4dd909518b8c436181c"},{"byte_length":1667,"kind":"map","path":"maps/Collections/Measure.map.json","sha256":"c2a0108f0613c0f470de58d32d1c2e06ca4f63cecd92b3fa80f80dcd29c8710a"},{"byte_length":2627,"kind":"map","path":"maps/Collections/Tables.map.json","sha256":"290e4bbe9d6f5cc140dcf24f5b79d964d68c1df909d550fe6ca873222d8641b9"},{"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":"d21b67e283ffeb5806d78d158e55fa9ae05b6aea9db0a279ed801af9e25cf8d5","source_id":"9faf17fe5671f7279f46fa00882f72dc1d36eef58b98dacfe81f24bc6cd1a47a","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 ca0ddf11f..b4c76e181 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":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"} +{"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":"d21b67e283ffeb5806d78d158e55fa9ae05b6aea9db0a279ed801af9e25cf8d5","source_id":"9faf17fe5671f7279f46fa00882f72dc1d36eef58b98dacfe81f24bc6cd1a47a","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 d3b5db94c..21104017e 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":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"} +{"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":"d21b67e283ffeb5806d78d158e55fa9ae05b6aea9db0a279ed801af9e25cf8d5","source_id":"9faf17fe5671f7279f46fa00882f72dc1d36eef58b98dacfe81f24bc6cd1a47a","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 f2a473f50..f4cc62490 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":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"} +{"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":"d21b67e283ffeb5806d78d158e55fa9ae05b6aea9db0a279ed801af9e25cf8d5","source_id":"9faf17fe5671f7279f46fa00882f72dc1d36eef58b98dacfe81f24bc6cd1a47a","sources":[{"id":0,"kind":"file","path":"src/Tables.lex.tex","sha256":"f5e7c1b714c8eee02fedacfb367c7e64dc01664eaa41fb48f4e42ae37aef43f0"}],"spec":"lexlean/source-map/1"} diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.lean b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Main.lean similarity index 100% rename from examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.lean rename to examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Main.lean diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Main.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Main.process.json new file mode 100644 index 000000000..b51e244e1 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.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.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.lean b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Measure.lean similarity index 100% rename from examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.lean rename to examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Measure.lean diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Measure.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Measure.process.json new file mode 100644 index 000000000..b690dc649 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Measure.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Measure.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.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.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.lean b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Tables.lean similarity index 100% rename from examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.lean rename to examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Tables.lean diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Tables.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Tables.process.json new file mode 100644 index 000000000..175f0edc7 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Tables.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.Collections.Tables.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.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.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Collections.lean similarity index 100% rename from examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.lean rename to examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Collections.lean diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Collections.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..20c8da4b8 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.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.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Portable.lean similarity index 100% rename from examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.lean rename to examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Portable.lean diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Portable.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..5fb4dccac --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad21b67e283ffeb5806d78d158e55fa9a.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.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.process.json deleted file mode 100644 index 097ebbcd7..000000000 --- a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.process.json deleted file mode 100644 index e6bf39730..000000000 --- a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.process.json deleted file mode 100644 index dada9f634..000000000 --- a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.process.json deleted file mode 100644 index 873dfc5c8..000000000 --- a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.process.json deleted file mode 100644 index 2b9c51898..000000000 --- a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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/probe/LexLeanProbe.Pea7d3fe6d34a1d041905f5846779737d.lean b/examples/collections/expected/verify/probe/LexLeanProbe.Pd21b67e283ffeb5806d78d158e55fa9a.lean similarity index 100% rename from examples/collections/expected/verify/probe/LexLeanProbe.Pea7d3fe6d34a1d041905f5846779737d.lean rename to examples/collections/expected/verify/probe/LexLeanProbe.Pd21b67e283ffeb5806d78d158e55fa9a.lean diff --git a/examples/collections/expected/verify/probe/process.json b/examples/collections/expected/verify/probe/process.json index b9c400450..455fae8bc 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.Pea7d3fe6d34a1d041905f5846779737d.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pea7d3fe6d34a1d041905f5846779737d","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pd21b67e283ffeb5806d78d158e55fa9a.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pd21b67e283ffeb5806d78d158e55fa9a","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/collections/lexlean.lock b/examples/collections/lexlean.lock index 6f3747e1a..775f99197 100644 --- a/examples/collections/lexlean.lock +++ b/examples/collections/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" project_config_sha256 = "87b05dc405590c51e9a51ac60ef00f9096c4a38c29b9bab379a02d5c6a1cd744" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/fold-laws/expected/build/coverage/FoldLaws/Folds.coverage.json b/examples/fold-laws/expected/build/coverage/FoldLaws/Folds.coverage.json new file mode 100644 index 000000000..83f3c1b2d --- /dev/null +++ b/examples/fold-laws/expected/build/coverage/FoldLaws/Folds.coverage.json @@ -0,0 +1 @@ +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":596,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1060,"byte_start":596,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1535,"byte_start":1060,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2044,"byte_start":1535,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2547,"byte_start":2044,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3079,"byte_start":2547,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3642,"byte_start":3079,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4103,"byte_start":3642,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4604,"byte_start":4103,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5092,"byte_start":4604,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5574,"byte_start":5092,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6058,"byte_start":5574,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6337,"byte_start":6058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6621,"byte_start":6337,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6935,"byte_start":6621,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7307,"byte_start":6935,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7576,"byte_start":7307,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7982,"byte_start":7576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8279,"byte_start":7982,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8561,"byte_start":8279,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8784,"byte_start":8561,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8799,"byte_start":8784,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":310,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":453,"byte_start":310,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":597,"byte_start":453,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":753,"byte_start":597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":943,"byte_start":753,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1127,"byte_start":943,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1340,"byte_start":1127,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1584,"byte_start":1340,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1727,"byte_start":1584,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1910,"byte_start":1727,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2084,"byte_start":1910,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2251,"byte_start":2084,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2420,"byte_start":2251,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5473,"byte_start":2420,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8516,"byte_start":5473,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11607,"byte_start":8516,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14738,"byte_start":11607,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17777,"byte_start":14738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20953,"byte_start":17777,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24026,"byte_start":20953,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27103,"byte_start":24026,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27218,"byte_start":27103,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27238,"byte_start":27218,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Folds","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":59,"class":"control","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":77,"byte_start":72,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":78,"byte_start":77,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":84,"byte_start":78,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":85,"byte_start":84,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":85,"class":"numeral","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":91,"byte_start":90,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":92,"class":"control","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":98,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"folds","form":"folds","kind":"form","package":"folds.titles"},"byte_end":114,"byte_start":99,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":115,"byte_start":114,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":116,"class":"control","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":122,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":137,"byte_start":123,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":138,"byte_start":137,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4640,"byte_start":139,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4644,"byte_start":4640,"class":"control","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4645,"byte_start":4644,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4659,"byte_start":4645,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4660,"byte_start":4659,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4665,"byte_start":4661,"class":"control","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4666,"byte_start":4665,"class":"delimiter","path":"src/Folds.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4673,"byte_start":4666,"class":"word","path":"src/Folds.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4674,"byte_start":4673,"class":"delimiter","path":"src/Folds.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/fold-laws/expected/build/coverage/FoldLaws/Kernels.coverage.json b/examples/fold-laws/expected/build/coverage/FoldLaws/Kernels.coverage.json new file mode 100644 index 000000000..b7da2f8dd --- /dev/null +++ b/examples/fold-laws/expected/build/coverage/FoldLaws/Kernels.coverage.json @@ -0,0 +1 @@ +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":849,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1137,"byte_start":849,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1526,"byte_start":1137,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1780,"byte_start":1526,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2037,"byte_start":1780,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2507,"byte_start":2037,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2990,"byte_start":2507,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3412,"byte_start":2990,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3707,"byte_start":3412,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3983,"byte_start":3707,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4264,"byte_start":3983,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4509,"byte_start":4264,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4775,"byte_start":4509,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5082,"byte_start":4775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5436,"byte_start":5082,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5734,"byte_start":5436,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5942,"byte_start":5734,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5957,"byte_start":5942,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":312,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":769,"byte_start":312,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3822,"byte_start":769,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6975,"byte_start":3822,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9994,"byte_start":6975,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13016,"byte_start":9994,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16226,"byte_start":13016,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19448,"byte_start":16226,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22609,"byte_start":19448,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25643,"byte_start":22609,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28659,"byte_start":25643,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31680,"byte_start":28659,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34665,"byte_start":31680,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37671,"byte_start":34665,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40717,"byte_start":37671,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43777,"byte_start":40717,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46815,"byte_start":43777,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46905,"byte_start":46815,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46927,"byte_start":46905,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Kernels","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":23,"byte_start":16,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":24,"byte_start":23,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":25,"class":"control","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":37,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":38,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":45,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":46,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":60,"byte_start":59,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":61,"class":"control","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":73,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":74,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"kernels","form":"kernels","kind":"form","package":"folds.titles"},"byte_end":116,"byte_start":101,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":117,"byte_start":116,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":124,"byte_start":118,"class":"control","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":124,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":125,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":139,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4070,"byte_start":141,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4074,"byte_start":4070,"class":"control","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4075,"byte_start":4074,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4089,"byte_start":4075,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4090,"byte_start":4089,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4095,"byte_start":4091,"class":"control","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4096,"byte_start":4095,"class":"delimiter","path":"src/Kernels.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4103,"byte_start":4096,"class":"word","path":"src/Kernels.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4104,"byte_start":4103,"class":"delimiter","path":"src/Kernels.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/fold-laws/expected/build/coverage/FoldLaws/Main.coverage.json b/examples/fold-laws/expected/build/coverage/FoldLaws/Main.coverage.json new file mode 100644 index 000000000..2aca187ef --- /dev/null +++ b/examples/fold-laws/expected/build/coverage/FoldLaws/Main.coverage.json @@ -0,0 +1 @@ +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":664,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":954,"byte_start":664,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1460,"byte_start":954,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1840,"byte_start":1460,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2317,"byte_start":1840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2636,"byte_start":2317,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3072,"byte_start":2636,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3521,"byte_start":3072,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3536,"byte_start":3521,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":369,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":582,"byte_start":369,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":872,"byte_start":582,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1059,"byte_start":872,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4179,"byte_start":1059,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4752,"byte_start":4179,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4921,"byte_start":4752,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5288,"byte_start":4921,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8508,"byte_start":5288,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8527,"byte_start":8508,"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":76,"byte_start":71,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":77,"byte_start":76,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":77,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":84,"byte_start":83,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":85,"byte_start":84,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":85,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"numeral","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":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":91,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":104,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":112,"byte_start":105,"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":133,"byte_start":128,"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":"title","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":"main","form":"main","kind":"form","package":"folds.titles"},"byte_end":171,"byte_start":142,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":172,"byte_start":171,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":179,"byte_start":173,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":180,"byte_start":179,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":194,"byte_start":180,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":195,"byte_start":194,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":2884,"byte_start":196,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":2888,"byte_start":2884,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":2889,"byte_start":2888,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":2903,"byte_start":2889,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":2904,"byte_start":2903,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":2909,"byte_start":2905,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":2910,"byte_start":2909,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":2917,"byte_start":2910,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":2918,"byte_start":2917,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/fold-laws/expected/build/lexicons/Folds.closure.json b/examples/fold-laws/expected/build/lexicons/Folds.closure.json new file mode 100644 index 000000000..cccd0de3c --- /dev/null +++ b/examples/fold-laws/expected/build/lexicons/Folds.closure.json @@ -0,0 +1 @@ +{"module":"Folds","packages":[{"entries":[{"category":"grammar","id":"a"},{"category":"structural","id":"allowaxioms"},{"category":"grammar","id":"alternative"},{"category":"grammar","id":"an"},{"category":"grammar","id":"and"},{"category":"proof-constant","id":"and-intro","signature_sha256":"3ae5651d6fc8a15bcaba9d07d64ab88cbbabfd966e66953e27a652c892b5b490"},{"category":"grammar","id":"apply-verb"},{"category":"infix-function","id":"arrow","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"grammar","id":"as"},{"category":"grammar","id":"assume"},{"category":"structural","id":"at"},{"category":"structural","id":"backward"},{"category":"structural","id":"begin"},{"category":"structural","id":"bind"},{"category":"structural","id":"brace-close"},{"category":"structural","id":"brace-open"},{"category":"structural","id":"bracket-close"},{"category":"structural","id":"bracket-open"},{"category":"label-word","id":"branch-word"},{"category":"grammar","id":"by"},{"category":"label-word","id":"case-word"},{"category":"grammar","id":"cases-noun"},{"category":"grammar","id":"close"},{"category":"structural","id":"colon"},{"category":"structural","id":"comma"},{"category":"grammar","id":"consider"},{"category":"grammar","id":"defined"},{"category":"structural","id":"display-close"},{"category":"structural","id":"display-open"},{"category":"structural","id":"end"},{"category":"structural","id":"env.apply"},{"category":"structural","id":"env.branch"},{"category":"structural","id":"env.calculate"},{"category":"structural","id":"env.case"},{"category":"structural","id":"env.cases"},{"category":"structural","id":"env.constructor"},{"category":"structural","id":"env.corollary"},{"category":"structural","id":"env.have"},{"category":"structural","id":"env.induction"},{"category":"structural","id":"env.lemma"},{"category":"structural","id":"env.lexlean"},{"category":"structural","id":"env.predicatedefinition"},{"category":"structural","id":"env.premise"},{"category":"structural","id":"env.proof"},{"category":"structural","id":"env.rewrite"},{"category":"structural","id":"env.section"},{"category":"structural","id":"env.simplify"},{"category":"structural","id":"env.termdefinition"},{"category":"structural","id":"env.theorem"},{"category":"structural","id":"env.typedefinition"},{"category":"infix-predicate","id":"eq","signature_sha256":"fff6703047a5db5ce2f1084729d26de7c98b060880f10d11bf993e61583a417a"},{"category":"grammar","id":"establish"},{"category":"grammar","id":"every"},{"category":"structural","id":"exactaxioms"},{"category":"grammar","id":"exactly"},{"category":"grammar","id":"exists"},{"category":"proof-constant","id":"exists-intro","signature_sha256":"826877f0c5dacbef193c11d1e3e4338883dd1db68a5ec9d73640e4fa6ab856f9"},{"category":"function","id":"exists-op","signature_sha256":"6fe6ba416d461756b942d1a826db5ba62ecb89ad10c83e5429fda5676ef1987b"},{"category":"grammar","id":"first"},{"category":"grammar","id":"follows"},{"category":"grammar","id":"for"},{"category":"structural","id":"forward"},{"category":"grammar","id":"from"},{"category":"grammar","id":"goal"},{"category":"structural","id":"heading"},{"category":"grammar","id":"holds"},{"category":"structural","id":"hyphen"},{"category":"grammar","id":"if"},{"category":"infix-function","id":"iff","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"proof-constant","id":"iff-intro","signature_sha256":"916fefdef3740a5a417db539a07f7c64c80b167b4b56376e04ae5a34ef2a24d3"},{"category":"grammar","id":"implies"},{"category":"structural","id":"importmodule"},{"category":"grammar","id":"induction-noun"},{"category":"grammar","id":"is"},{"category":"infix-function","id":"land","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"grammar","id":"left"},{"category":"structural","id":"lexeme"},{"category":"prefix-function","id":"lnot","signature_sha256":"b58227252ab1afe7522f2d168e1d8bb96947273b77d8d69d9d5d62a5616e45f7"},{"category":"infix-function","id":"lor","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"structural","id":"math-close"},{"category":"structural","id":"math-open"},{"category":"structural","id":"noaxioms"},{"category":"grammar","id":"not"},{"category":"grammar","id":"of"},{"category":"grammar","id":"on"},{"category":"grammar","id":"one"},{"category":"grammar","id":"only"},{"category":"grammar","id":"or"},{"category":"proof-constant","id":"or-inl","signature_sha256":"15bc04b85dd3fa7919a5346eb884241553989ba798adf2a7d070b80d77d6d46a"},{"category":"proof-constant","id":"or-inr","signature_sha256":"8e845723a60966714d93537e9cf60ab49f228514f7c617e0f66e119b3a642a2c"},{"category":"structural","id":"parameters"},{"category":"label-word","id":"parameters-concept"},{"category":"structural","id":"paren-close"},{"category":"structural","id":"paren-open"},{"category":"structural","id":"period"},{"category":"label-word","id":"premise-word"},{"category":"grammar","id":"proceed"},{"category":"structural","id":"reference"},{"category":"grammar","id":"reflexivity"},{"category":"grammar","id":"rewrite-verb"},{"category":"grammar","id":"right"},{"category":"structural","id":"rule"},{"category":"grammar","id":"select"},{"category":"structural","id":"semicolon"},{"category":"grammar","id":"simplify-verb"},{"category":"structural","id":"start"},{"category":"structural","id":"step"},{"category":"grammar","id":"such"},{"category":"grammar","id":"that"},{"category":"grammar","id":"the"},{"category":"grammar","id":"then"},{"category":"grammar","id":"there"},{"category":"structural","id":"title"},{"category":"grammar","id":"use"},{"category":"structural","id":"useglossary"},{"category":"grammar","id":"using"},{"category":"grammar","id":"we"},{"category":"grammar","id":"when"},{"category":"grammar","id":"with"},{"category":"grammar","id":"witness"}],"id":"lexlean.core","manifest_sha256":"271079763d269cc873531f515e56da960cd6321393b9460ff0e617666fa01d71","tree_sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392","version":"1.2.0"},{"entries":[{"category":"infix-function","id":"and","signature_sha256":"2b8099618ae87bc9783ad11c4542074cbdadb46de8d6f45bd6cf0ecbb4a09f1e"},{"category":"type-noun","id":"bool","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"term-constant","id":"false","signature_sha256":"3c702a2431352e1a42f2d4a0768bb00667c5ed6ee32a89b9d4e6b17aa7505c26"},{"category":"function","id":"not","signature_sha256":"8f0bb0dac6dd181c978e426d07cff3f2c69d76d9d8af90c55b979363fe8ee167"},{"category":"infix-function","id":"or","signature_sha256":"2b8099618ae87bc9783ad11c4542074cbdadb46de8d6f45bd6cf0ecbb4a09f1e"},{"category":"term-constant","id":"true","signature_sha256":"3c702a2431352e1a42f2d4a0768bb00667c5ed6ee32a89b9d4e6b17aa7505c26"}],"id":"lexlean.std.bool","manifest_sha256":"de58de2cf18a7a5a62d8c20649139d6dfe1f7b16b3130c75f150fbac5440a71e","tree_sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b","version":"1.2.0"},{"entries":[{"category":"infix-function","id":"add","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"label-word","id":"addition"},{"category":"infix-function","id":"beq","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"function","id":"ble","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"function","id":"blt","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"infix-function","id":"div","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"infix-predicate","id":"ge","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"gt","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-function","id":"inter","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"infix-predicate","id":"le","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"function","id":"list","signature_sha256":"6d6685ec3b3b8a12cc96b0559d1216b9dd77084b1a12e4776cb6b9366692af7f"},{"category":"infix-predicate","id":"lt","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"mem","signature_sha256":"be248583768890865a7b2550ac757599105728a5a475dc218badd0cfb8dfc2b1"},{"category":"infix-function","id":"mul","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"type-noun","id":"nat","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"type-noun","id":"nat-list","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"infix-predicate","id":"ne","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"not-mem","signature_sha256":"be248583768890865a7b2550ac757599105728a5a475dc218badd0cfb8dfc2b1"},{"category":"infix-function","id":"prod","signature_sha256":"dcce60e7e417656677465e47c16f959b4af4cf1c379e434dad71e273798b9545"},{"category":"function","id":"remove-all","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"infix-predicate","id":"ssubset","signature_sha256":"a3e9b3981fcd508cdc862d7bc2c2d3cbf9b8300cbc7c738018cff08ce9650025"},{"category":"infix-function","id":"sub","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"infix-predicate","id":"subseteq","signature_sha256":"a3e9b3981fcd508cdc862d7bc2c2d3cbf9b8300cbc7c738018cff08ce9650025"},{"category":"function","id":"succ","signature_sha256":"28caae3ed404512c7b3d7b9304cdc6ddbf343f145ee905306d659582871abcac"},{"category":"infix-function","id":"union","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"term-constant","id":"zero","signature_sha256":"a1eb0e00322cdc8282a96aff213a04133d617badd2f27b57cc87183777775e36"}],"id":"lexlean.std.nat","manifest_sha256":"6fb446b39e3c1c18a5f10cfa1f7aa2bd431837719eb0eb7489aadf452c9420a7","tree_sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac","version":"1.2.0"},{"entries":[{"category":"label-word","id":"folds"},{"category":"label-word","id":"kernels"},{"category":"label-word","id":"main"}],"id":"folds.titles","manifest_sha256":"134cc0f7eb2131878e05d217bee705eb304e44774ee205d043559d43ab81b770","tree_sha256":"0f45f7e4112147980b825a8d49fce9743085673af0beb23f5819d7e4170ae8cc","version":"1.0.0"}],"spec":"lexlean/lexicon-closure/1"} diff --git a/examples/fold-laws/expected/build/lexicons/Kernels.closure.json b/examples/fold-laws/expected/build/lexicons/Kernels.closure.json new file mode 100644 index 000000000..18330ec8c --- /dev/null +++ b/examples/fold-laws/expected/build/lexicons/Kernels.closure.json @@ -0,0 +1 @@ +{"module":"Kernels","packages":[{"entries":[{"category":"grammar","id":"a"},{"category":"structural","id":"allowaxioms"},{"category":"grammar","id":"alternative"},{"category":"grammar","id":"an"},{"category":"grammar","id":"and"},{"category":"proof-constant","id":"and-intro","signature_sha256":"3ae5651d6fc8a15bcaba9d07d64ab88cbbabfd966e66953e27a652c892b5b490"},{"category":"grammar","id":"apply-verb"},{"category":"infix-function","id":"arrow","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"grammar","id":"as"},{"category":"grammar","id":"assume"},{"category":"structural","id":"at"},{"category":"structural","id":"backward"},{"category":"structural","id":"begin"},{"category":"structural","id":"bind"},{"category":"structural","id":"brace-close"},{"category":"structural","id":"brace-open"},{"category":"structural","id":"bracket-close"},{"category":"structural","id":"bracket-open"},{"category":"label-word","id":"branch-word"},{"category":"grammar","id":"by"},{"category":"label-word","id":"case-word"},{"category":"grammar","id":"cases-noun"},{"category":"grammar","id":"close"},{"category":"structural","id":"colon"},{"category":"structural","id":"comma"},{"category":"grammar","id":"consider"},{"category":"grammar","id":"defined"},{"category":"structural","id":"display-close"},{"category":"structural","id":"display-open"},{"category":"structural","id":"end"},{"category":"structural","id":"env.apply"},{"category":"structural","id":"env.branch"},{"category":"structural","id":"env.calculate"},{"category":"structural","id":"env.case"},{"category":"structural","id":"env.cases"},{"category":"structural","id":"env.constructor"},{"category":"structural","id":"env.corollary"},{"category":"structural","id":"env.have"},{"category":"structural","id":"env.induction"},{"category":"structural","id":"env.lemma"},{"category":"structural","id":"env.lexlean"},{"category":"structural","id":"env.predicatedefinition"},{"category":"structural","id":"env.premise"},{"category":"structural","id":"env.proof"},{"category":"structural","id":"env.rewrite"},{"category":"structural","id":"env.section"},{"category":"structural","id":"env.simplify"},{"category":"structural","id":"env.termdefinition"},{"category":"structural","id":"env.theorem"},{"category":"structural","id":"env.typedefinition"},{"category":"infix-predicate","id":"eq","signature_sha256":"fff6703047a5db5ce2f1084729d26de7c98b060880f10d11bf993e61583a417a"},{"category":"grammar","id":"establish"},{"category":"grammar","id":"every"},{"category":"structural","id":"exactaxioms"},{"category":"grammar","id":"exactly"},{"category":"grammar","id":"exists"},{"category":"proof-constant","id":"exists-intro","signature_sha256":"826877f0c5dacbef193c11d1e3e4338883dd1db68a5ec9d73640e4fa6ab856f9"},{"category":"function","id":"exists-op","signature_sha256":"6fe6ba416d461756b942d1a826db5ba62ecb89ad10c83e5429fda5676ef1987b"},{"category":"grammar","id":"first"},{"category":"grammar","id":"follows"},{"category":"grammar","id":"for"},{"category":"structural","id":"forward"},{"category":"grammar","id":"from"},{"category":"grammar","id":"goal"},{"category":"structural","id":"heading"},{"category":"grammar","id":"holds"},{"category":"structural","id":"hyphen"},{"category":"grammar","id":"if"},{"category":"infix-function","id":"iff","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"proof-constant","id":"iff-intro","signature_sha256":"916fefdef3740a5a417db539a07f7c64c80b167b4b56376e04ae5a34ef2a24d3"},{"category":"grammar","id":"implies"},{"category":"structural","id":"importmodule"},{"category":"grammar","id":"induction-noun"},{"category":"grammar","id":"is"},{"category":"infix-function","id":"land","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"grammar","id":"left"},{"category":"structural","id":"lexeme"},{"category":"prefix-function","id":"lnot","signature_sha256":"b58227252ab1afe7522f2d168e1d8bb96947273b77d8d69d9d5d62a5616e45f7"},{"category":"infix-function","id":"lor","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"structural","id":"math-close"},{"category":"structural","id":"math-open"},{"category":"structural","id":"noaxioms"},{"category":"grammar","id":"not"},{"category":"grammar","id":"of"},{"category":"grammar","id":"on"},{"category":"grammar","id":"one"},{"category":"grammar","id":"only"},{"category":"grammar","id":"or"},{"category":"proof-constant","id":"or-inl","signature_sha256":"15bc04b85dd3fa7919a5346eb884241553989ba798adf2a7d070b80d77d6d46a"},{"category":"proof-constant","id":"or-inr","signature_sha256":"8e845723a60966714d93537e9cf60ab49f228514f7c617e0f66e119b3a642a2c"},{"category":"structural","id":"parameters"},{"category":"label-word","id":"parameters-concept"},{"category":"structural","id":"paren-close"},{"category":"structural","id":"paren-open"},{"category":"structural","id":"period"},{"category":"label-word","id":"premise-word"},{"category":"grammar","id":"proceed"},{"category":"structural","id":"reference"},{"category":"grammar","id":"reflexivity"},{"category":"grammar","id":"rewrite-verb"},{"category":"grammar","id":"right"},{"category":"structural","id":"rule"},{"category":"grammar","id":"select"},{"category":"structural","id":"semicolon"},{"category":"grammar","id":"simplify-verb"},{"category":"structural","id":"start"},{"category":"structural","id":"step"},{"category":"grammar","id":"such"},{"category":"grammar","id":"that"},{"category":"grammar","id":"the"},{"category":"grammar","id":"then"},{"category":"grammar","id":"there"},{"category":"structural","id":"title"},{"category":"grammar","id":"use"},{"category":"structural","id":"useglossary"},{"category":"grammar","id":"using"},{"category":"grammar","id":"we"},{"category":"grammar","id":"when"},{"category":"grammar","id":"with"},{"category":"grammar","id":"witness"}],"id":"lexlean.core","manifest_sha256":"271079763d269cc873531f515e56da960cd6321393b9460ff0e617666fa01d71","tree_sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392","version":"1.2.0"},{"entries":[{"category":"infix-function","id":"and","signature_sha256":"2b8099618ae87bc9783ad11c4542074cbdadb46de8d6f45bd6cf0ecbb4a09f1e"},{"category":"type-noun","id":"bool","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"term-constant","id":"false","signature_sha256":"3c702a2431352e1a42f2d4a0768bb00667c5ed6ee32a89b9d4e6b17aa7505c26"},{"category":"function","id":"not","signature_sha256":"8f0bb0dac6dd181c978e426d07cff3f2c69d76d9d8af90c55b979363fe8ee167"},{"category":"infix-function","id":"or","signature_sha256":"2b8099618ae87bc9783ad11c4542074cbdadb46de8d6f45bd6cf0ecbb4a09f1e"},{"category":"term-constant","id":"true","signature_sha256":"3c702a2431352e1a42f2d4a0768bb00667c5ed6ee32a89b9d4e6b17aa7505c26"}],"id":"lexlean.std.bool","manifest_sha256":"de58de2cf18a7a5a62d8c20649139d6dfe1f7b16b3130c75f150fbac5440a71e","tree_sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b","version":"1.2.0"},{"entries":[{"category":"infix-function","id":"add","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"label-word","id":"addition"},{"category":"infix-function","id":"beq","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"function","id":"ble","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"function","id":"blt","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"infix-function","id":"div","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"infix-predicate","id":"ge","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"gt","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-function","id":"inter","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"infix-predicate","id":"le","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"function","id":"list","signature_sha256":"6d6685ec3b3b8a12cc96b0559d1216b9dd77084b1a12e4776cb6b9366692af7f"},{"category":"infix-predicate","id":"lt","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"mem","signature_sha256":"be248583768890865a7b2550ac757599105728a5a475dc218badd0cfb8dfc2b1"},{"category":"infix-function","id":"mul","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"type-noun","id":"nat","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"type-noun","id":"nat-list","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"infix-predicate","id":"ne","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"not-mem","signature_sha256":"be248583768890865a7b2550ac757599105728a5a475dc218badd0cfb8dfc2b1"},{"category":"infix-function","id":"prod","signature_sha256":"dcce60e7e417656677465e47c16f959b4af4cf1c379e434dad71e273798b9545"},{"category":"function","id":"remove-all","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"infix-predicate","id":"ssubset","signature_sha256":"a3e9b3981fcd508cdc862d7bc2c2d3cbf9b8300cbc7c738018cff08ce9650025"},{"category":"infix-function","id":"sub","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"infix-predicate","id":"subseteq","signature_sha256":"a3e9b3981fcd508cdc862d7bc2c2d3cbf9b8300cbc7c738018cff08ce9650025"},{"category":"function","id":"succ","signature_sha256":"28caae3ed404512c7b3d7b9304cdc6ddbf343f145ee905306d659582871abcac"},{"category":"infix-function","id":"union","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"term-constant","id":"zero","signature_sha256":"a1eb0e00322cdc8282a96aff213a04133d617badd2f27b57cc87183777775e36"}],"id":"lexlean.std.nat","manifest_sha256":"6fb446b39e3c1c18a5f10cfa1f7aa2bd431837719eb0eb7489aadf452c9420a7","tree_sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac","version":"1.2.0"},{"entries":[{"category":"label-word","id":"folds"},{"category":"label-word","id":"kernels"},{"category":"label-word","id":"main"}],"id":"folds.titles","manifest_sha256":"134cc0f7eb2131878e05d217bee705eb304e44774ee205d043559d43ab81b770","tree_sha256":"0f45f7e4112147980b825a8d49fce9743085673af0beb23f5819d7e4170ae8cc","version":"1.0.0"}],"spec":"lexlean/lexicon-closure/1"} diff --git a/examples/fold-laws/expected/build/lexicons/Main.closure.json b/examples/fold-laws/expected/build/lexicons/Main.closure.json new file mode 100644 index 000000000..7657d1494 --- /dev/null +++ b/examples/fold-laws/expected/build/lexicons/Main.closure.json @@ -0,0 +1 @@ +{"module":"Main","packages":[{"entries":[{"category":"grammar","id":"a"},{"category":"structural","id":"allowaxioms"},{"category":"grammar","id":"alternative"},{"category":"grammar","id":"an"},{"category":"grammar","id":"and"},{"category":"proof-constant","id":"and-intro","signature_sha256":"3ae5651d6fc8a15bcaba9d07d64ab88cbbabfd966e66953e27a652c892b5b490"},{"category":"grammar","id":"apply-verb"},{"category":"infix-function","id":"arrow","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"grammar","id":"as"},{"category":"grammar","id":"assume"},{"category":"structural","id":"at"},{"category":"structural","id":"backward"},{"category":"structural","id":"begin"},{"category":"structural","id":"bind"},{"category":"structural","id":"brace-close"},{"category":"structural","id":"brace-open"},{"category":"structural","id":"bracket-close"},{"category":"structural","id":"bracket-open"},{"category":"label-word","id":"branch-word"},{"category":"grammar","id":"by"},{"category":"label-word","id":"case-word"},{"category":"grammar","id":"cases-noun"},{"category":"grammar","id":"close"},{"category":"structural","id":"colon"},{"category":"structural","id":"comma"},{"category":"grammar","id":"consider"},{"category":"grammar","id":"defined"},{"category":"structural","id":"display-close"},{"category":"structural","id":"display-open"},{"category":"structural","id":"end"},{"category":"structural","id":"env.apply"},{"category":"structural","id":"env.branch"},{"category":"structural","id":"env.calculate"},{"category":"structural","id":"env.case"},{"category":"structural","id":"env.cases"},{"category":"structural","id":"env.constructor"},{"category":"structural","id":"env.corollary"},{"category":"structural","id":"env.have"},{"category":"structural","id":"env.induction"},{"category":"structural","id":"env.lemma"},{"category":"structural","id":"env.lexlean"},{"category":"structural","id":"env.predicatedefinition"},{"category":"structural","id":"env.premise"},{"category":"structural","id":"env.proof"},{"category":"structural","id":"env.rewrite"},{"category":"structural","id":"env.section"},{"category":"structural","id":"env.simplify"},{"category":"structural","id":"env.termdefinition"},{"category":"structural","id":"env.theorem"},{"category":"structural","id":"env.typedefinition"},{"category":"infix-predicate","id":"eq","signature_sha256":"fff6703047a5db5ce2f1084729d26de7c98b060880f10d11bf993e61583a417a"},{"category":"grammar","id":"establish"},{"category":"grammar","id":"every"},{"category":"structural","id":"exactaxioms"},{"category":"grammar","id":"exactly"},{"category":"grammar","id":"exists"},{"category":"proof-constant","id":"exists-intro","signature_sha256":"826877f0c5dacbef193c11d1e3e4338883dd1db68a5ec9d73640e4fa6ab856f9"},{"category":"function","id":"exists-op","signature_sha256":"6fe6ba416d461756b942d1a826db5ba62ecb89ad10c83e5429fda5676ef1987b"},{"category":"grammar","id":"first"},{"category":"grammar","id":"follows"},{"category":"grammar","id":"for"},{"category":"structural","id":"forward"},{"category":"grammar","id":"from"},{"category":"grammar","id":"goal"},{"category":"structural","id":"heading"},{"category":"grammar","id":"holds"},{"category":"structural","id":"hyphen"},{"category":"grammar","id":"if"},{"category":"infix-function","id":"iff","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"proof-constant","id":"iff-intro","signature_sha256":"916fefdef3740a5a417db539a07f7c64c80b167b4b56376e04ae5a34ef2a24d3"},{"category":"grammar","id":"implies"},{"category":"structural","id":"importmodule"},{"category":"grammar","id":"induction-noun"},{"category":"grammar","id":"is"},{"category":"infix-function","id":"land","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"grammar","id":"left"},{"category":"structural","id":"lexeme"},{"category":"prefix-function","id":"lnot","signature_sha256":"b58227252ab1afe7522f2d168e1d8bb96947273b77d8d69d9d5d62a5616e45f7"},{"category":"infix-function","id":"lor","signature_sha256":"4ab8273d45e3bda75d484468dd51cd1f4614a5d9b73a6fc066388aa72636a717"},{"category":"structural","id":"math-close"},{"category":"structural","id":"math-open"},{"category":"structural","id":"noaxioms"},{"category":"grammar","id":"not"},{"category":"grammar","id":"of"},{"category":"grammar","id":"on"},{"category":"grammar","id":"one"},{"category":"grammar","id":"only"},{"category":"grammar","id":"or"},{"category":"proof-constant","id":"or-inl","signature_sha256":"15bc04b85dd3fa7919a5346eb884241553989ba798adf2a7d070b80d77d6d46a"},{"category":"proof-constant","id":"or-inr","signature_sha256":"8e845723a60966714d93537e9cf60ab49f228514f7c617e0f66e119b3a642a2c"},{"category":"structural","id":"parameters"},{"category":"label-word","id":"parameters-concept"},{"category":"structural","id":"paren-close"},{"category":"structural","id":"paren-open"},{"category":"structural","id":"period"},{"category":"label-word","id":"premise-word"},{"category":"grammar","id":"proceed"},{"category":"structural","id":"reference"},{"category":"grammar","id":"reflexivity"},{"category":"grammar","id":"rewrite-verb"},{"category":"grammar","id":"right"},{"category":"structural","id":"rule"},{"category":"grammar","id":"select"},{"category":"structural","id":"semicolon"},{"category":"grammar","id":"simplify-verb"},{"category":"structural","id":"start"},{"category":"structural","id":"step"},{"category":"grammar","id":"such"},{"category":"grammar","id":"that"},{"category":"grammar","id":"the"},{"category":"grammar","id":"then"},{"category":"grammar","id":"there"},{"category":"structural","id":"title"},{"category":"grammar","id":"use"},{"category":"structural","id":"useglossary"},{"category":"grammar","id":"using"},{"category":"grammar","id":"we"},{"category":"grammar","id":"when"},{"category":"grammar","id":"with"},{"category":"grammar","id":"witness"}],"id":"lexlean.core","manifest_sha256":"271079763d269cc873531f515e56da960cd6321393b9460ff0e617666fa01d71","tree_sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392","version":"1.2.0"},{"entries":[{"category":"infix-function","id":"and","signature_sha256":"2b8099618ae87bc9783ad11c4542074cbdadb46de8d6f45bd6cf0ecbb4a09f1e"},{"category":"type-noun","id":"bool","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"term-constant","id":"false","signature_sha256":"3c702a2431352e1a42f2d4a0768bb00667c5ed6ee32a89b9d4e6b17aa7505c26"},{"category":"function","id":"not","signature_sha256":"8f0bb0dac6dd181c978e426d07cff3f2c69d76d9d8af90c55b979363fe8ee167"},{"category":"infix-function","id":"or","signature_sha256":"2b8099618ae87bc9783ad11c4542074cbdadb46de8d6f45bd6cf0ecbb4a09f1e"},{"category":"term-constant","id":"true","signature_sha256":"3c702a2431352e1a42f2d4a0768bb00667c5ed6ee32a89b9d4e6b17aa7505c26"}],"id":"lexlean.std.bool","manifest_sha256":"de58de2cf18a7a5a62d8c20649139d6dfe1f7b16b3130c75f150fbac5440a71e","tree_sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b","version":"1.2.0"},{"entries":[{"category":"infix-function","id":"add","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"label-word","id":"addition"},{"category":"infix-function","id":"beq","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"function","id":"ble","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"function","id":"blt","signature_sha256":"e0ba0da404022f58ba89c723ed7b4f9187b43f1b8a74228c54812ef073d56019"},{"category":"infix-function","id":"div","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"infix-predicate","id":"ge","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"gt","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-function","id":"inter","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"infix-predicate","id":"le","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"function","id":"list","signature_sha256":"6d6685ec3b3b8a12cc96b0559d1216b9dd77084b1a12e4776cb6b9366692af7f"},{"category":"infix-predicate","id":"lt","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"mem","signature_sha256":"be248583768890865a7b2550ac757599105728a5a475dc218badd0cfb8dfc2b1"},{"category":"infix-function","id":"mul","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"type-noun","id":"nat","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"type-noun","id":"nat-list","signature_sha256":"f23ac5c59894fab109f943cb71f3f118d39c2a11dd566054b9cca7baeb70e9d1"},{"category":"infix-predicate","id":"ne","signature_sha256":"2ec88c5373669b45b27824b507815b6af546db4921cb05ded0757c5131444d81"},{"category":"infix-predicate","id":"not-mem","signature_sha256":"be248583768890865a7b2550ac757599105728a5a475dc218badd0cfb8dfc2b1"},{"category":"infix-function","id":"prod","signature_sha256":"dcce60e7e417656677465e47c16f959b4af4cf1c379e434dad71e273798b9545"},{"category":"function","id":"remove-all","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"infix-predicate","id":"ssubset","signature_sha256":"a3e9b3981fcd508cdc862d7bc2c2d3cbf9b8300cbc7c738018cff08ce9650025"},{"category":"infix-function","id":"sub","signature_sha256":"c40b9c6487d0986522dc6b35add4d048dd3a256337e8be35254f09430dd42356"},{"category":"infix-predicate","id":"subseteq","signature_sha256":"a3e9b3981fcd508cdc862d7bc2c2d3cbf9b8300cbc7c738018cff08ce9650025"},{"category":"function","id":"succ","signature_sha256":"28caae3ed404512c7b3d7b9304cdc6ddbf343f145ee905306d659582871abcac"},{"category":"infix-function","id":"union","signature_sha256":"855f18d5a8192acd8a13ebf416d8d1946395a7108a359d562caac2c8b5a75801"},{"category":"term-constant","id":"zero","signature_sha256":"a1eb0e00322cdc8282a96aff213a04133d617badd2f27b57cc87183777775e36"}],"id":"lexlean.std.nat","manifest_sha256":"6fb446b39e3c1c18a5f10cfa1f7aa2bd431837719eb0eb7489aadf452c9420a7","tree_sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac","version":"1.2.0"},{"entries":[{"category":"label-word","id":"folds"},{"category":"label-word","id":"kernels"},{"category":"label-word","id":"main"}],"id":"folds.titles","manifest_sha256":"134cc0f7eb2131878e05d217bee705eb304e44774ee205d043559d43ab81b770","tree_sha256":"0f45f7e4112147980b825a8d49fce9743085673af0beb23f5819d7e4170ae8cc","version":"1.0.0"}],"spec":"lexlean/lexicon-closure/1"} diff --git a/examples/fold-laws/expected/build/manifest.json b/examples/fold-laws/expected/build/manifest.json new file mode 100644 index 000000000..02981c8ff --- /dev/null +++ b/examples/fold-laws/expected/build/manifest.json @@ -0,0 +1 @@ +{"build_id":"4f0ebe9feb40ab4b26347c6da92d6aefed43b4c3fad7f8e81ee7c7fc02deaaa4","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":1055,"kind":"lexicon","path":"glossary/folds.titles","sha256":"0f45f7e4112147980b825a8d49fce9743085673af0beb23f5819d7e4170ae8cc"},{"byte_length":1937,"kind":"lock","path":"lexlean.lock","sha256":"0dd832633c196f62233ea8192a5a8bdbd4c881b21ae418e7c919446413529fba"},{"byte_length":729,"kind":"project-config","path":"lexlean.toml","sha256":"6b4aefb16459176dc5845ec6df13b390d7105a2c9d8ccc8ce08d2bbabb4058d0"},{"byte_length":4675,"kind":"source","path":"src/Folds.lex.tex","sha256":"54564f4bf135ae9deafd8bd854fbc5c09723b85a054ae2261f19b3b137bc3598"},{"byte_length":4105,"kind":"source","path":"src/Kernels.lex.tex","sha256":"951bf028cbf1d8a95dcdddc7e9d6608e180ed697c5ea9df60b8b1c2507b7190f"},{"byte_length":2919,"kind":"source","path":"src/Main.lex.tex","sha256":"1b2a8a0757e577bf53d164171059e97b45db69e9baa1cfedd09511f03d941a59"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"FoldLaws.Folds","module":"Folds","source_path":"src/Folds.lex.tex"},{"lean_module":"FoldLaws.Kernels","module":"Kernels","source_path":"src/Kernels.lex.tex"},{"lean_module":"FoldLaws.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":13833,"kind":"coverage","path":"coverage/FoldLaws/Folds.coverage.json","sha256":"63d21e10c047710bf1325fc8271efed1ff6240d36873ea0b5e4fbbf42445eb91"},{"byte_length":12885,"kind":"coverage","path":"coverage/FoldLaws/Kernels.coverage.json","sha256":"92223c1952d44fce36580349b24c8be1a6ef5be828e06cc31d46186618b84fb5"},{"byte_length":11508,"kind":"coverage","path":"coverage/FoldLaws/Main.coverage.json","sha256":"b852d2cfc2f4500ea7af013832451ca248e81f731d08a8fe9dff4bf4db583424"},{"byte_length":27238,"kind":"lean","path":"modules/FoldLaws/Folds.lean","sha256":"ca2813622e361c44f9aee1f54bc5b17ce07f2d22bd3719da79c3ff17120ec55f"},{"byte_length":46927,"kind":"lean","path":"modules/FoldLaws/Kernels.lean","sha256":"e120b160e36d551c343d3315d79108421701b0dece4c00e812975f4dd99db001"},{"byte_length":8527,"kind":"lean","path":"modules/FoldLaws/Main.lean","sha256":"1c9a93fdd3335cd736efa668527a232c7da770c9f1fac983e9fc5fa33b8f1956"},{"byte_length":10939,"kind":"lexicon-closure","path":"lexicons/Folds.closure.json","sha256":"cc043dc592e53f7530772cc415b57c829a241e34477d41ba4bd49dd0bbead60e"},{"byte_length":10941,"kind":"lexicon-closure","path":"lexicons/Kernels.closure.json","sha256":"a5720bb307053d30157fb4b207e491e95463e36735a568226e3f11927af91f8e"},{"byte_length":10938,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"b1f4da7a53917fe7bb7857e086af159801d5d909c6cdf9edf064cfcecd599a2d"},{"byte_length":7773,"kind":"map","path":"maps/FoldLaws/Folds.map.json","sha256":"5b62fe6e6a9fe506f859193fcfa52051e561bff66a70b40bc0a9e6b8f7cf2547"},{"byte_length":6519,"kind":"map","path":"maps/FoldLaws/Kernels.map.json","sha256":"4224415514c30fbf04429b07e2c63982d8dc0189b9dc9493bebd0a9cc0a127b3"},{"byte_length":3577,"kind":"map","path":"maps/FoldLaws/Main.map.json","sha256":"e33b14645a1e40c04b4fcd80ed280edeb0f393f3951cfa3a1be553bf4ac6a0e4"},{"byte_length":8799,"kind":"tex","path":"modules/FoldLaws/Folds.tex","sha256":"b286c23d9fbeed668b1da86f12d726fa3b94465a6275301cc895eb4aea0a006d"},{"byte_length":5957,"kind":"tex","path":"modules/FoldLaws/Kernels.tex","sha256":"27b7af40fc4d77c285877bbe4e7835a8f640e0e0eaa31a9dae842a9e8b18f697"},{"byte_length":3536,"kind":"tex","path":"modules/FoldLaws/Main.tex","sha256":"27fc7bc2dccb4b3ef3178f23e8690bb10809c4fa122ccfe9ec586327b54fa513"}],"project":"fold-laws","selection":["Folds","Kernels","Main"],"semantic_id":"af614c00edde6afde0f8e98021208c764a0e773e813bbd1d4f430b893d5cd98f","source_id":"2cbf214e620e79821b0d5902ed2968e47bdf936c6ada16a458c1bd39e283fe7d","spec":"lexlean/build-manifest/1"} diff --git a/examples/fold-laws/expected/build/maps/FoldLaws/Folds.map.json b/examples/fold-laws/expected/build/maps/FoldLaws/Folds.map.json new file mode 100644 index 000000000..fc88b6ee5 --- /dev/null +++ b/examples/fold-laws/expected/build/maps/FoldLaws/Folds.map.json @@ -0,0 +1 @@ +{"artifacts":[{"id":0,"kind":"lean","path":"modules/FoldLaws/Folds.lean"},{"id":1,"kind":"tex","path":"modules/FoldLaws/Folds.tex"}],"mappings":[{"artifact":0,"gen_end":310,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4675,"src_start":0},{"artifact":0,"gen_end":453,"gen_start":310,"node":1,"role":"declaration","source":0,"src_end":312,"src_start":139},{"artifact":0,"gen_end":597,"gen_start":453,"node":2,"role":"declaration","source":0,"src_end":487,"src_start":314},{"artifact":0,"gen_end":753,"gen_start":597,"node":3,"role":"declaration","source":0,"src_end":675,"src_start":489},{"artifact":0,"gen_end":943,"gen_start":753,"node":4,"role":"declaration","source":0,"src_end":883,"src_start":677},{"artifact":0,"gen_end":1127,"gen_start":943,"node":5,"role":"declaration","source":0,"src_end":1093,"src_start":885},{"artifact":0,"gen_end":1340,"gen_start":1127,"node":6,"role":"declaration","source":0,"src_end":1323,"src_start":1095},{"artifact":0,"gen_end":1584,"gen_start":1340,"node":7,"role":"declaration","source":0,"src_end":1572,"src_start":1325},{"artifact":0,"gen_end":1727,"gen_start":1584,"node":8,"role":"declaration","source":0,"src_end":1746,"src_start":1574},{"artifact":0,"gen_end":1910,"gen_start":1727,"node":9,"role":"declaration","source":0,"src_end":1946,"src_start":1748},{"artifact":0,"gen_end":2084,"gen_start":1910,"node":10,"role":"declaration","source":0,"src_end":2142,"src_start":1948},{"artifact":0,"gen_end":2251,"gen_start":2084,"node":11,"role":"declaration","source":0,"src_end":2330,"src_start":2144},{"artifact":0,"gen_end":2420,"gen_start":2251,"node":12,"role":"declaration","source":0,"src_end":2520,"src_start":2332},{"artifact":0,"gen_end":5473,"gen_start":2420,"node":13,"role":"declaration","source":0,"src_end":2746,"src_start":2522},{"artifact":0,"gen_end":8516,"gen_start":5473,"node":14,"role":"declaration","source":0,"src_end":2950,"src_start":2748},{"artifact":0,"gen_end":11607,"gen_start":8516,"node":15,"role":"declaration","source":0,"src_end":3200,"src_start":2952},{"artifact":0,"gen_end":14738,"gen_start":11607,"node":16,"role":"declaration","source":0,"src_end":3475,"src_start":3202},{"artifact":0,"gen_end":17777,"gen_start":14738,"node":17,"role":"declaration","source":0,"src_end":3687,"src_start":3477},{"artifact":0,"gen_end":20953,"gen_start":17777,"node":18,"role":"declaration","source":0,"src_end":4003,"src_start":3689},{"artifact":0,"gen_end":24026,"gen_start":20953,"node":19,"role":"declaration","source":0,"src_end":4234,"src_start":4005},{"artifact":0,"gen_end":27103,"gen_start":24026,"node":20,"role":"declaration","source":0,"src_end":4474,"src_start":4236},{"artifact":0,"gen_end":27218,"gen_start":27103,"node":21,"role":"declaration","source":0,"src_end":4639,"src_start":4476},{"artifact":0,"gen_end":27238,"gen_start":27218,"node":0,"role":"declaration","source":0,"src_end":4675,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":22,"role":"declaration","source":0,"src_end":4675,"src_start":0},{"artifact":1,"gen_end":596,"gen_start":134,"node":23,"role":"declaration","source":0,"src_end":312,"src_start":139},{"artifact":1,"gen_end":1060,"gen_start":596,"node":24,"role":"declaration","source":0,"src_end":487,"src_start":314},{"artifact":1,"gen_end":1535,"gen_start":1060,"node":25,"role":"declaration","source":0,"src_end":675,"src_start":489},{"artifact":1,"gen_end":2044,"gen_start":1535,"node":26,"role":"declaration","source":0,"src_end":883,"src_start":677},{"artifact":1,"gen_end":2547,"gen_start":2044,"node":27,"role":"declaration","source":0,"src_end":1093,"src_start":885},{"artifact":1,"gen_end":3079,"gen_start":2547,"node":28,"role":"declaration","source":0,"src_end":1323,"src_start":1095},{"artifact":1,"gen_end":3642,"gen_start":3079,"node":29,"role":"declaration","source":0,"src_end":1572,"src_start":1325},{"artifact":1,"gen_end":4103,"gen_start":3642,"node":30,"role":"declaration","source":0,"src_end":1746,"src_start":1574},{"artifact":1,"gen_end":4604,"gen_start":4103,"node":31,"role":"declaration","source":0,"src_end":1946,"src_start":1748},{"artifact":1,"gen_end":5092,"gen_start":4604,"node":32,"role":"declaration","source":0,"src_end":2142,"src_start":1948},{"artifact":1,"gen_end":5574,"gen_start":5092,"node":33,"role":"declaration","source":0,"src_end":2330,"src_start":2144},{"artifact":1,"gen_end":6058,"gen_start":5574,"node":34,"role":"declaration","source":0,"src_end":2520,"src_start":2332},{"artifact":1,"gen_end":6337,"gen_start":6058,"node":35,"role":"declaration","source":0,"src_end":2746,"src_start":2522},{"artifact":1,"gen_end":6621,"gen_start":6337,"node":36,"role":"declaration","source":0,"src_end":2950,"src_start":2748},{"artifact":1,"gen_end":6935,"gen_start":6621,"node":37,"role":"declaration","source":0,"src_end":3200,"src_start":2952},{"artifact":1,"gen_end":7307,"gen_start":6935,"node":38,"role":"declaration","source":0,"src_end":3475,"src_start":3202},{"artifact":1,"gen_end":7576,"gen_start":7307,"node":39,"role":"declaration","source":0,"src_end":3687,"src_start":3477},{"artifact":1,"gen_end":7982,"gen_start":7576,"node":40,"role":"declaration","source":0,"src_end":4003,"src_start":3689},{"artifact":1,"gen_end":8279,"gen_start":7982,"node":41,"role":"declaration","source":0,"src_end":4234,"src_start":4005},{"artifact":1,"gen_end":8561,"gen_start":8279,"node":42,"role":"declaration","source":0,"src_end":4474,"src_start":4236},{"artifact":1,"gen_end":8784,"gen_start":8561,"node":43,"role":"declaration","source":0,"src_end":4639,"src_start":4476},{"artifact":1,"gen_end":8799,"gen_start":8784,"node":22,"role":"declaration","source":0,"src_end":4675,"src_start":0}],"module":"Folds","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-latex-module"},{"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"}],"semantic_id":"af614c00edde6afde0f8e98021208c764a0e773e813bbd1d4f430b893d5cd98f","source_id":"2cbf214e620e79821b0d5902ed2968e47bdf936c6ada16a458c1bd39e283fe7d","sources":[{"id":0,"kind":"file","path":"src/Folds.lex.tex","sha256":"54564f4bf135ae9deafd8bd854fbc5c09723b85a054ae2261f19b3b137bc3598"}],"spec":"lexlean/source-map/1"} diff --git a/examples/fold-laws/expected/build/maps/FoldLaws/Kernels.map.json b/examples/fold-laws/expected/build/maps/FoldLaws/Kernels.map.json new file mode 100644 index 000000000..7a5aa62c5 --- /dev/null +++ b/examples/fold-laws/expected/build/maps/FoldLaws/Kernels.map.json @@ -0,0 +1 @@ +{"artifacts":[{"id":0,"kind":"lean","path":"modules/FoldLaws/Kernels.lean"},{"id":1,"kind":"tex","path":"modules/FoldLaws/Kernels.tex"}],"mappings":[{"artifact":0,"gen_end":312,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4105,"src_start":0},{"artifact":0,"gen_end":769,"gen_start":312,"node":1,"role":"declaration","source":0,"src_end":576,"src_start":141},{"artifact":0,"gen_end":3822,"gen_start":769,"node":2,"role":"declaration","source":0,"src_end":801,"src_start":578},{"artifact":0,"gen_end":6975,"gen_start":3822,"node":3,"role":"declaration","source":0,"src_end":1092,"src_start":803},{"artifact":0,"gen_end":9994,"gen_start":6975,"node":4,"role":"declaration","source":0,"src_end":1284,"src_start":1094},{"artifact":0,"gen_end":13016,"gen_start":9994,"node":5,"role":"declaration","source":0,"src_end":1479,"src_start":1286},{"artifact":0,"gen_end":16226,"gen_start":13016,"node":6,"role":"declaration","source":0,"src_end":1790,"src_start":1481},{"artifact":0,"gen_end":19448,"gen_start":16226,"node":7,"role":"declaration","source":0,"src_end":2113,"src_start":1792},{"artifact":0,"gen_end":22609,"gen_start":19448,"node":8,"role":"declaration","source":0,"src_end":2397,"src_start":2115},{"artifact":0,"gen_end":25643,"gen_start":22609,"node":9,"role":"declaration","source":0,"src_end":2587,"src_start":2399},{"artifact":0,"gen_end":28659,"gen_start":25643,"node":10,"role":"declaration","source":0,"src_end":2760,"src_start":2589},{"artifact":0,"gen_end":31680,"gen_start":28659,"node":11,"role":"declaration","source":0,"src_end":2952,"src_start":2762},{"artifact":0,"gen_end":34665,"gen_start":31680,"node":12,"role":"declaration","source":0,"src_end":3110,"src_start":2954},{"artifact":0,"gen_end":37671,"gen_start":34665,"node":13,"role":"declaration","source":0,"src_end":3289,"src_start":3112},{"artifact":0,"gen_end":40717,"gen_start":37671,"node":14,"role":"declaration","source":0,"src_end":3490,"src_start":3291},{"artifact":0,"gen_end":43777,"gen_start":40717,"node":15,"role":"declaration","source":0,"src_end":3724,"src_start":3492},{"artifact":0,"gen_end":46815,"gen_start":43777,"node":16,"role":"declaration","source":0,"src_end":3920,"src_start":3726},{"artifact":0,"gen_end":46905,"gen_start":46815,"node":17,"role":"declaration","source":0,"src_end":4069,"src_start":3922},{"artifact":0,"gen_end":46927,"gen_start":46905,"node":0,"role":"declaration","source":0,"src_end":4105,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":18,"role":"declaration","source":0,"src_end":4105,"src_start":0},{"artifact":1,"gen_end":849,"gen_start":134,"node":19,"role":"declaration","source":0,"src_end":576,"src_start":141},{"artifact":1,"gen_end":1137,"gen_start":849,"node":20,"role":"declaration","source":0,"src_end":801,"src_start":578},{"artifact":1,"gen_end":1526,"gen_start":1137,"node":21,"role":"declaration","source":0,"src_end":1092,"src_start":803},{"artifact":1,"gen_end":1780,"gen_start":1526,"node":22,"role":"declaration","source":0,"src_end":1284,"src_start":1094},{"artifact":1,"gen_end":2037,"gen_start":1780,"node":23,"role":"declaration","source":0,"src_end":1479,"src_start":1286},{"artifact":1,"gen_end":2507,"gen_start":2037,"node":24,"role":"declaration","source":0,"src_end":1790,"src_start":1481},{"artifact":1,"gen_end":2990,"gen_start":2507,"node":25,"role":"declaration","source":0,"src_end":2113,"src_start":1792},{"artifact":1,"gen_end":3412,"gen_start":2990,"node":26,"role":"declaration","source":0,"src_end":2397,"src_start":2115},{"artifact":1,"gen_end":3707,"gen_start":3412,"node":27,"role":"declaration","source":0,"src_end":2587,"src_start":2399},{"artifact":1,"gen_end":3983,"gen_start":3707,"node":28,"role":"declaration","source":0,"src_end":2760,"src_start":2589},{"artifact":1,"gen_end":4264,"gen_start":3983,"node":29,"role":"declaration","source":0,"src_end":2952,"src_start":2762},{"artifact":1,"gen_end":4509,"gen_start":4264,"node":30,"role":"declaration","source":0,"src_end":3110,"src_start":2954},{"artifact":1,"gen_end":4775,"gen_start":4509,"node":31,"role":"declaration","source":0,"src_end":3289,"src_start":3112},{"artifact":1,"gen_end":5082,"gen_start":4775,"node":32,"role":"declaration","source":0,"src_end":3490,"src_start":3291},{"artifact":1,"gen_end":5436,"gen_start":5082,"node":33,"role":"declaration","source":0,"src_end":3724,"src_start":3492},{"artifact":1,"gen_end":5734,"gen_start":5436,"node":34,"role":"declaration","source":0,"src_end":3920,"src_start":3726},{"artifact":1,"gen_end":5942,"gen_start":5734,"node":35,"role":"declaration","source":0,"src_end":4069,"src_start":3922},{"artifact":1,"gen_end":5957,"gen_start":5942,"node":18,"role":"declaration","source":0,"src_end":4105,"src_start":0}],"module":"Kernels","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-latex-module"},{"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"}],"semantic_id":"af614c00edde6afde0f8e98021208c764a0e773e813bbd1d4f430b893d5cd98f","source_id":"2cbf214e620e79821b0d5902ed2968e47bdf936c6ada16a458c1bd39e283fe7d","sources":[{"id":0,"kind":"file","path":"src/Kernels.lex.tex","sha256":"951bf028cbf1d8a95dcdddc7e9d6608e180ed697c5ea9df60b8b1c2507b7190f"}],"spec":"lexlean/source-map/1"} diff --git a/examples/fold-laws/expected/build/maps/FoldLaws/Main.map.json b/examples/fold-laws/expected/build/maps/FoldLaws/Main.map.json new file mode 100644 index 000000000..6880b842f --- /dev/null +++ b/examples/fold-laws/expected/build/maps/FoldLaws/Main.map.json @@ -0,0 +1 @@ +{"artifacts":[{"id":0,"kind":"lean","path":"modules/FoldLaws/Main.lean"},{"id":1,"kind":"tex","path":"modules/FoldLaws/Main.tex"}],"mappings":[{"artifact":0,"gen_end":369,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":2919,"src_start":0},{"artifact":0,"gen_end":582,"gen_start":369,"node":1,"role":"declaration","source":0,"src_end":427,"src_start":196},{"artifact":0,"gen_end":872,"gen_start":582,"node":2,"role":"declaration","source":0,"src_end":815,"src_start":429},{"artifact":0,"gen_end":1059,"gen_start":872,"node":3,"role":"declaration","source":0,"src_end":1018,"src_start":817},{"artifact":0,"gen_end":4179,"gen_start":1059,"node":4,"role":"declaration","source":0,"src_end":1262,"src_start":1020},{"artifact":0,"gen_end":4752,"gen_start":4179,"node":5,"role":"declaration","source":0,"src_end":1879,"src_start":1264},{"artifact":0,"gen_end":4921,"gen_start":4752,"node":6,"role":"declaration","source":0,"src_end":2112,"src_start":1881},{"artifact":0,"gen_end":5288,"gen_start":4921,"node":7,"role":"declaration","source":0,"src_end":2527,"src_start":2114},{"artifact":0,"gen_end":8508,"gen_start":5288,"node":8,"role":"declaration","source":0,"src_end":2883,"src_start":2529},{"artifact":0,"gen_end":8527,"gen_start":8508,"node":0,"role":"declaration","source":0,"src_end":2919,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":2919,"src_start":0},{"artifact":1,"gen_end":664,"gen_start":134,"node":10,"role":"declaration","source":0,"src_end":427,"src_start":196},{"artifact":1,"gen_end":954,"gen_start":664,"node":11,"role":"declaration","source":0,"src_end":815,"src_start":429},{"artifact":1,"gen_end":1460,"gen_start":954,"node":12,"role":"declaration","source":0,"src_end":1018,"src_start":817},{"artifact":1,"gen_end":1840,"gen_start":1460,"node":13,"role":"declaration","source":0,"src_end":1262,"src_start":1020},{"artifact":1,"gen_end":2317,"gen_start":1840,"node":14,"role":"declaration","source":0,"src_end":1879,"src_start":1264},{"artifact":1,"gen_end":2636,"gen_start":2317,"node":15,"role":"declaration","source":0,"src_end":2112,"src_start":1881},{"artifact":1,"gen_end":3072,"gen_start":2636,"node":16,"role":"declaration","source":0,"src_end":2527,"src_start":2114},{"artifact":1,"gen_end":3521,"gen_start":3072,"node":17,"role":"declaration","source":0,"src_end":2883,"src_start":2529},{"artifact":1,"gen_end":3536,"gen_start":3521,"node":9,"role":"declaration","source":0,"src_end":2919,"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":"af614c00edde6afde0f8e98021208c764a0e773e813bbd1d4f430b893d5cd98f","source_id":"2cbf214e620e79821b0d5902ed2968e47bdf936c6ada16a458c1bd39e283fe7d","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"1b2a8a0757e577bf53d164171059e97b45db69e9baa1cfedd09511f03d941a59"}],"spec":"lexlean/source-map/1"} diff --git a/examples/fold-laws/expected/build/modules/FoldLaws/Folds.lean b/examples/fold-laws/expected/build/modules/FoldLaws/Folds.lean new file mode 100644 index 000000000..49dbb3c9b --- /dev/null +++ b/examples/fold-laws/expected/build/modules/FoldLaws/Folds.lean @@ -0,0 +1,103 @@ +module +public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Laws +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 1000000000 +set_option linter.constructorNameAsVariable false +namespace FoldLaws.Folds + +@[expose] public def total (xs : List (Nat)) : Nat := (LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => (acc + v))) (0) (xs) : Nat) + +@[expose] public def count (xs : List (Nat)) : Nat := (LexLeanCollections.listFold ((fun (acc : Nat) (_v : Nat) => (acc + 1))) (0) (xs) : Nat) + +@[expose] public def doubledTotal (xs : List (Nat)) : Nat := (LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => ((acc + v) + v))) (0) (xs) : Nat) + +@[expose] public def weighted (xs : List (Nat)) : Nat := (LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => (acc + ((LexLeanRuntime.multiply (3) (v) : Nat) + 1)))) (0) (xs) : Nat) + +@[expose] public def reversed (xs : List (Nat)) : List (Nat) := (LexLeanCollections.listFold ((fun (acc : List (Nat)) (v : Nat) => (v :: acc))) (([] : List (Nat))) (xs) : List (Nat)) + +@[expose] public def balance (opening : Int) (movements : List (Int)) : Int := (LexLeanCollections.listFold ((fun (acc : Int) (v : Int) => (LexLeanRuntime.subtract (acc) (v) : Int))) (opening) (movements) : Int) + +@[expose] public def credit (opening : Int) (movements : List (Int)) : Int := (LexLeanCollections.listFold ((fun (acc : Int) (v : Int) => (LexLeanRuntime.subtract (acc) ((LexLeanRuntime.negate (v) : Int)) : Int))) (opening) (movements) : Int) + +@[expose] public def setTotal (s : List (Nat)) : Nat := (LexLeanCollections.setFold ((fun (acc : Nat) (v : Nat) => (acc + v))) (0) (s) : Nat) + +@[expose] public def setDoubled (s : List (Nat)) : Nat := (LexLeanCollections.setFold ((fun (acc : Nat) (v : Nat) => (acc + (LexLeanRuntime.multiply (2) (v) : Nat)))) (0) (s) : Nat) + +@[expose] public def entryTotal (m : List (Prod (Nat) (Nat))) : Nat := (LexLeanCollections.mapFold ((fun (acc : Nat) (k : Nat) (v : Nat) => (acc + (k + v)))) (0) (m) : Nat) + +@[expose] public def keyTotal (m : List (Prod (Nat) (Nat))) : Nat := (LexLeanCollections.mapFold ((fun (acc : Nat) (k : Nat) (_v : Nat) => (acc + k))) (0) (m) : Nat) + +@[expose] public def valueTotal (m : List (Prod (Nat) (Nat))) : Nat := (LexLeanCollections.mapFold ((fun (acc : Nat) (_k : Nat) (v : Nat) => (acc + v))) (0) (m) : Nat) + +public theorem doubled_total (xs : List (Nat)) : (doubledTotal (xs) = (total (xs) + total (xs))) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [doubledTotal, total, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem count_is_length (xs : List (Nat)) : (count (xs) = (LexLeanRuntime.length (xs) : Nat)) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [count, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem weighted_total (xs : List (Nat)) : (weighted (xs) = ((LexLeanRuntime.multiply (3) (total (xs)) : Nat) + count (xs))) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [count, total, weighted, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem total_append_commutes (xs : List (Nat)) (ys : List (Nat)) : (total ((LexLeanRuntime.append (xs) (ys) : List (Nat))) = total ((LexLeanRuntime.append (ys) (xs) : List (Nat)))) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [total, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem total_reversed (xs : List (Nat)) : (total (reversed (xs)) = total (xs)) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [reversed, total, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem balance_credit (opening : Int) (movements : List (Int)) : ((LexLeanRuntime.subtract (balance (opening) (movements)) (opening) : Int) = (LexLeanRuntime.subtract (opening) (credit (opening) (movements)) : Int)) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [balance, credit, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem set_doubled (s : List (Nat)) : (setDoubled (s) = (LexLeanRuntime.multiply (2) (setTotal (s)) : Nat)) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [setDoubled, setTotal, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem map_split (m : List (Prod (Nat) (Nat))) : (entryTotal (m) = (keyTotal (m) + valueTotal (m))) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [entryTotal, keyTotal, valueTotal, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem doubled_total_closed : (doubledTotal ((1 :: (2 :: (3 :: ([] : List (Nat)))))) = 12) := by + decide + +end FoldLaws.Folds diff --git a/examples/fold-laws/expected/build/modules/FoldLaws/Folds.tex b/examples/fold-laws/expected/build/modules/FoldLaws/Folds.tex new file mode 100644 index 000000000..1fc6b5c26 --- /dev/null +++ b/examples/fold-laws/expected/build/modules/FoldLaws/Folds.tex @@ -0,0 +1,146 @@ +\documentclass[11pt]{article} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb} +\begin{document} +\section*{Semantic declarations} +\subsection*{\texttt{total}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => (acc + v))) (0) (xs) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{count}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (acc : Nat) (\_v : Nat) => (acc + 1))) (0) (xs) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{doubledTotal}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => ((acc + v) + v))) (0) (xs) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{weighted}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => (acc + ((LexLeanRuntime.multiply (3) (v) : Nat) + 1)))) (0) (xs) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{reversed}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{List (Nat)}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (acc : List (Nat)) (v : Nat) => (v :: acc))) (([] : List (Nat))) (xs) : List (Nat))}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{balance}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(opening : Int) (movements : List (Int))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Int}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (acc : Int) (v : Int) => (LexLeanRuntime.subtract (acc) (v) : Int))) (opening) (movements) : Int)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{credit}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(opening : Int) (movements : List (Int))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Int}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (acc : Int) (v : Int) => (LexLeanRuntime.subtract (acc) ((LexLeanRuntime.negate (v) : Int)) : Int))) (opening) (movements) : Int)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{setTotal}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(s : Set (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.setFold ((fun (acc : Nat) (v : Nat) => (acc + v))) (0) (s) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{setDoubled}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(s : Set (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.setFold ((fun (acc : Nat) (v : Nat) => (acc + (LexLeanRuntime.multiply (2) (v) : Nat)))) (0) (s) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{entryTotal}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(m : Map (Nat) (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, k, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.mapFold ((fun (acc : Nat) (k : Nat) (v : Nat) => (acc + (k + v)))) (0) (m) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{keyTotal}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(m : Map (Nat) (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, k, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.mapFold ((fun (acc : Nat) (k : Nat) (\_v : Nat) => (acc + k))) (0) (m) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{valueTotal}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(m : Map (Nat) (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, k, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.mapFold ((fun (acc : Nat) (\_k : Nat) (v : Nat) => (acc + v))) (0) (m) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{doubled\_total}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Statement: \texttt{(doubledTotal (xs) = (total (xs) + total (xs)))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{count\_is\_length}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Statement: \texttt{(count (xs) = (LexLeanRuntime.length (xs) : Nat))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{weighted\_total}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Statement: \texttt{(weighted (xs) = ((LexLeanRuntime.multiply (3) (total (xs)) : Nat) + count (xs)))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{total\_append\_commutes}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat)) (ys : List (Nat))}.\par +\noindent Statement: \texttt{(total ((LexLeanRuntime.append (xs) (ys) : List (Nat))) = total ((LexLeanRuntime.append (ys) (xs) : List (Nat))))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{total\_reversed}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Statement: \texttt{(total (reversed (xs)) = total (xs))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{balance\_credit}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(opening : Int) (movements : List (Int))}.\par +\noindent Statement: \texttt{((LexLeanRuntime.subtract (balance (opening) (movements)) (opening) : Int) = (LexLeanRuntime.subtract (opening) (credit (opening) (movements)) : Int))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{set\_doubled}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(s : Set (Nat))}.\par +\noindent Statement: \texttt{(setDoubled (s) = (LexLeanRuntime.multiply (2) (setTotal (s)) : Nat))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{map\_split}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(m : Map (Nat) (Nat))}.\par +\noindent Statement: \texttt{(entryTotal (m) = (keyTotal (m) + valueTotal (m)))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{doubled\_total\_closed}} +\noindent Kind: \texttt{theorem}.\par +\noindent Statement: \texttt{(doubledTotal ((1 :: (2 :: (3 :: ([] : List (Nat)))))) = 12)}.\par +\noindent Axiom policy: \texttt{none}.\par +\end{document} diff --git a/examples/fold-laws/expected/build/modules/FoldLaws/Kernels.lean b/examples/fold-laws/expected/build/modules/FoldLaws/Kernels.lean new file mode 100644 index 000000000..208c16b86 --- /dev/null +++ b/examples/fold-laws/expected/build/modules/FoldLaws/Kernels.lean @@ -0,0 +1,126 @@ +module +public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Laws +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 1000000000 +set_option linter.constructorNameAsVariable false +namespace FoldLaws.Kernels + +@[expose] public def requantize (x : Int) : Int := (let q : Int := (LexLeanRuntime.quotient ((LexLeanRuntime.subtract ((LexLeanRuntime.multiply ((LexLeanRuntime.subtract (x) ((-20 : Int)) : Int)) ((9365133 : Int)) : Int)) ((-2147483648 : Int)) : Int)) ((4294967296 : Int)) ((0 : Int)) : Int); (if (LexLeanCollections.lessThan (q) ((0 : Int)) : Bool) then (0 : Int) else (if (LexLeanCollections.lessThan ((255 : Int)) (q) : Bool) then (255 : Int) else q))) + +public theorem requantize_monotone (x : Int) (y : Int) : ((x <= y) -> (requantize (x) <= requantize (y))) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [requantize, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem requantize_runtime_monotone (x : Int) (y : Int) : (((LexLeanCollections.lessThan (y) (x) : Bool) = false) -> ((LexLeanCollections.lessThan (requantize (y)) (requantize (x)) : Bool) = false)) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [requantize, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem requantize_low (x : Int) : ((0 : Int) <= requantize (x)) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [requantize, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem requantize_high (x : Int) : (requantize (x) <= (255 : Int)) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [requantize, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem truncating_division (a : Int) : ((LexLeanRuntime.subtract ((LexLeanRuntime.multiply ((LexLeanRuntime.quotient (a) ((7 : Int)) ((0 : Int)) : Int)) ((7 : Int)) : Int)) ((LexLeanRuntime.negate ((LexLeanRuntime.remainder (a) ((7 : Int)) ((0 : Int)) : Int)) : Int)) : Int) = a) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem truncating_division_negative (a : Int) : ((LexLeanRuntime.subtract ((LexLeanRuntime.multiply ((LexLeanRuntime.quotient (a) ((-7 : Int)) ((0 : Int)) : Int)) ((-7 : Int)) : Int)) ((LexLeanRuntime.negate ((LexLeanRuntime.remainder (a) ((-7 : Int)) ((0 : Int)) : Int)) : Int)) : Int) = a) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem truncation_toward_zero (a : Int) : (((LexLeanCollections.lessThan (a) ((0 : Int)) : Bool) = true) -> ((LexLeanCollections.lessThan ((0 : Int)) ((LexLeanRuntime.remainder (a) ((7 : Int)) ((0 : Int)) : Int)) : Bool) = false)) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem division_by_zero (a : Int) (z : Int) : ((LexLeanRuntime.quotient (a) ((0 : Int)) (z) : Int) = z) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem halving_shrinks (n : Nat) : ((LexLeanRuntime.quotient (n) (2) (0) : Nat) <= n) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem byte_order (x : UInt8) (y : UInt8) (z : UInt8) : ((x <= y) -> ((y < z) -> (x < z))) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem byte_ceiling (x : UInt8) : (x <= (255 : UInt8)) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem byte_literal (x : UInt8) : ((x <= (5 : UInt8)) -> (x < (6 : UInt8))) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem signed_byte_order (x : Int8) (y : Int8) : (((LexLeanCollections.lessThan (x) (y) : Bool) = true) -> (x < y)) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem signed_byte_floor (x : Int8) : (((LexLeanCollections.lessThan (x) ((-128 : Int8)) : Bool) = false) /\ (x <= (127 : Int8))) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem byte_equality (x : UInt8) (y : UInt8) : (((LexLeanRuntime.equal (x) (y) : Bool) = true) -> (x <= y)) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem requantize_closed : (requantize ((100 : Int)) = (0 : Int)) := by + decide + +end FoldLaws.Kernels diff --git a/examples/fold-laws/expected/build/modules/FoldLaws/Kernels.tex b/examples/fold-laws/expected/build/modules/FoldLaws/Kernels.tex new file mode 100644 index 000000000..ff1e0e63a --- /dev/null +++ b/examples/fold-laws/expected/build/modules/FoldLaws/Kernels.tex @@ -0,0 +1,92 @@ +\documentclass[11pt]{article} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb} +\begin{document} +\section*{Semantic declarations} +\subsection*{\texttt{requantize}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(x : Int)}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Int}.\par +\noindent Definition: \texttt{(let q : Int := (LexLeanRuntime.quotient ((LexLeanRuntime.subtract ((LexLeanRuntime.multiply ((LexLeanRuntime.subtract (x) ((-20 : Int)) : Int)) ((9365133 : Int)) : Int)) ((-2147483648 : Int)) : Int)) ((4294967296 : Int)) ((0 : Int)) : Int); (if (LexLeanCollections.lessThan (q) ((0 : Int)) : Bool) then (0 : Int) else (if (LexLeanCollections.lessThan ((255 : Int)) (q) : Bool) then (255 : Int) else q)))}.\par +\noindent Axiom policy: \texttt{exact [propext]}.\par +\subsection*{\texttt{requantize\_monotone}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : Int) (y : Int)}.\par +\noindent Statement: \texttt{((x <= y) -> (requantize (x) <= requantize (y)))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{requantize\_runtime\_monotone}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : Int) (y : Int)}.\par +\noindent Statement: \texttt{(((LexLeanCollections.lessThan (y) (x) : Bool) = false) -> ((LexLeanCollections.lessThan (requantize (y)) (requantize (x)) : Bool) = false))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{requantize\_low}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : Int)}.\par +\noindent Statement: \texttt{((0 : Int) <= requantize (x))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{requantize\_high}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : Int)}.\par +\noindent Statement: \texttt{(requantize (x) <= (255 : Int))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{truncating\_division}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(a : Int)}.\par +\noindent Statement: \texttt{((LexLeanRuntime.subtract ((LexLeanRuntime.multiply ((LexLeanRuntime.quotient (a) ((7 : Int)) ((0 : Int)) : Int)) ((7 : Int)) : Int)) ((LexLeanRuntime.negate ((LexLeanRuntime.remainder (a) ((7 : Int)) ((0 : Int)) : Int)) : Int)) : Int) = a)}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{truncating\_division\_negative}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(a : Int)}.\par +\noindent Statement: \texttt{((LexLeanRuntime.subtract ((LexLeanRuntime.multiply ((LexLeanRuntime.quotient (a) ((-7 : Int)) ((0 : Int)) : Int)) ((-7 : Int)) : Int)) ((LexLeanRuntime.negate ((LexLeanRuntime.remainder (a) ((-7 : Int)) ((0 : Int)) : Int)) : Int)) : Int) = a)}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{truncation\_toward\_zero}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(a : Int)}.\par +\noindent Statement: \texttt{(((LexLeanCollections.lessThan (a) ((0 : Int)) : Bool) = true) -> ((LexLeanCollections.lessThan ((0 : Int)) ((LexLeanRuntime.remainder (a) ((7 : Int)) ((0 : Int)) : Int)) : Bool) = false))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{division\_by\_zero}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(a : Int) (z : Int)}.\par +\noindent Statement: \texttt{((LexLeanRuntime.quotient (a) ((0 : Int)) (z) : Int) = z)}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{halving\_shrinks}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(n : Nat)}.\par +\noindent Statement: \texttt{((LexLeanRuntime.quotient (n) (2) (0) : Nat) <= n)}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{byte\_order}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : UInt8) (y : UInt8) (z : UInt8)}.\par +\noindent Statement: \texttt{((x <= y) -> ((y < z) -> (x < z)))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{byte\_ceiling}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : UInt8)}.\par +\noindent Statement: \texttt{(x <= (255 : UInt8))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{byte\_literal}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : UInt8)}.\par +\noindent Statement: \texttt{((x <= (5 : UInt8)) -> (x < (6 : UInt8)))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{signed\_byte\_order}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : Int8) (y : Int8)}.\par +\noindent Statement: \texttt{(((LexLeanCollections.lessThan (x) (y) : Bool) = true) -> (x < y))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{signed\_byte\_floor}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : Int8)}.\par +\noindent Statement: \texttt{(((LexLeanCollections.lessThan (x) ((-128 : Int8)) : Bool) = false) /\textbackslash{} (x <= (127 : Int8)))}.\par +\noindent Axiom policy: \texttt{exact [Classical.choice, Quot.sound, propext]}.\par +\subsection*{\texttt{byte\_equality}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(x : UInt8) (y : UInt8)}.\par +\noindent Statement: \texttt{(((LexLeanRuntime.equal (x) (y) : Bool) = true) -> (x <= y))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{requantize\_closed}} +\noindent Kind: \texttt{theorem}.\par +\noindent Statement: \texttt{(requantize ((100 : Int)) = (0 : Int))}.\par +\noindent Axiom policy: \texttt{exact [propext]}.\par +\end{document} diff --git a/examples/fold-laws/expected/build/modules/FoldLaws/Main.lean b/examples/fold-laws/expected/build/modules/FoldLaws/Main.lean new file mode 100644 index 000000000..9c1d92114 --- /dev/null +++ b/examples/fold-laws/expected/build/modules/FoldLaws/Main.lean @@ -0,0 +1,45 @@ +module +public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Laws +public import FoldLaws.Folds +public import FoldLaws.Kernels +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 1000000000 +set_option linter.constructorNameAsVariable false +namespace FoldLaws.Main + +@[expose] public def statistics (xs : List (Nat)) : (Prod (Nat) (Nat)) := (LexLeanCollections.listFold ((fun (p : (Prod (Nat) (Nat))) (v : Nat) => (((p).1 + v), ((p).2 + 1)))) ((0, 0)) (xs) : (Prod (Nat) (Nat))) + +public theorem statistics_one_pass (xs : List (Nat)) : (statistics (xs) = (FoldLaws.Folds.total (xs), FoldLaws.Folds.count (xs))) := by + exact @LexLeanLaws.listFold_pair (Nat) (Nat) (Nat) ((fun (acc : Nat) (v : Nat) => (acc + v))) ((fun (acc : Nat) (_v : Nat) => (acc + 1))) (0) (0) (xs) + +@[expose] public def parity (xs : List (Nat)) : Nat := (LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => (LexLeanRuntime.remainder ((acc + v)) (2) (0) : Nat))) (0) (xs) : Nat) + +public theorem parity_step (a : Nat) (x : Nat) : ((LexLeanRuntime.remainder ((a + x)) (2) (0) : Nat) = (LexLeanRuntime.remainder (((LexLeanRuntime.remainder (a) (2) (0) : Nat) + x)) (2) (0) : Nat)) := by + intros + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +public theorem parity_fused (xs : List (Nat)) : ((LexLeanRuntime.remainder (FoldLaws.Folds.total (xs)) (2) (0) : Nat) = (LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => (LexLeanRuntime.remainder ((acc + v)) (2) (0) : Nat))) ((LexLeanRuntime.remainder (0) (2) (0) : Nat)) (xs) : Nat)) := by + exact @LexLeanLaws.listFold_fusion (Nat) (Nat) (Nat) ((fun (acc : Nat) (v : Nat) => (acc + v))) ((fun (acc : Nat) (v : Nat) => (LexLeanRuntime.remainder ((acc + v)) (2) (0) : Nat))) ((fun (n : Nat) => (LexLeanRuntime.remainder (n) (2) (0) : Nat))) (0) (xs) parity_step + +public theorem parity_of_total (xs : List (Nat)) : ((LexLeanRuntime.remainder (FoldLaws.Folds.total (xs)) (2) (0) : Nat) = parity (xs)) := by + exact parity_fused (xs) + +public theorem count_append (xs : List (Nat)) (ys : List (Nat)) : (FoldLaws.Folds.count ((LexLeanRuntime.append (xs) (ys) : List (Nat))) = (LexLeanCollections.listFold ((fun (acc : Nat) (_v : Nat) => (acc + 1))) (FoldLaws.Folds.count (xs)) (ys) : Nat)) := by + exact @LexLeanLaws.listFold_append (Nat) (Nat) ((fun (acc : Nat) (_v : Nat) => (acc + 1))) (0) (xs) (ys) + +public theorem requantized_total (xs : List (Nat)) (ys : List (Nat)) : ((FoldLaws.Folds.total (xs) <= FoldLaws.Folds.total ((LexLeanRuntime.append (xs) (ys) : List (Nat)))) /\ (FoldLaws.Kernels.requantize ((0 : Int)) <= (255 : Int))) := by + intros + subst_vars + try set_option linter.unusedSimpArgs false in simp only [FoldLaws.Folds.total, FoldLaws.Kernels.requantize, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) + all_goals omega + +end FoldLaws.Main diff --git a/examples/fold-laws/expected/build/modules/FoldLaws/Main.tex b/examples/fold-laws/expected/build/modules/FoldLaws/Main.tex new file mode 100644 index 000000000..a406d289c --- /dev/null +++ b/examples/fold-laws/expected/build/modules/FoldLaws/Main.tex @@ -0,0 +1,52 @@ +\documentclass[11pt]{article} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb} +\begin{document} +\section*{Semantic declarations} +\subsection*{\texttt{statistics}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Closure 1: binds \texttt{(p, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{(Prod (Nat) (Nat))}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (p : (Prod (Nat) (Nat))) (v : Nat) => (((p).1 + v), ((p).2 + 1)))) ((0, 0)) (xs) : (Prod (Nat) (Nat)))}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{statistics\_one\_pass}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Statement: \texttt{(statistics (xs) = (FoldLaws.Folds.total (xs), FoldLaws.Folds.count (xs)))}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{parity}} +\noindent Kind: \texttt{definition}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Closure 1: binds \texttt{(acc, v)}, captures \texttt{()}.\par +\noindent Execution: executable, non-escaping closures only.\par +\noindent Type: \texttt{Nat}.\par +\noindent Definition: \texttt{(LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => (LexLeanRuntime.remainder ((acc + v)) (2) (0) : Nat))) (0) (xs) : Nat)}.\par +\noindent Axiom policy: \texttt{none}.\par +\subsection*{\texttt{parity\_step}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(a : Nat) (x : Nat)}.\par +\noindent Statement: \texttt{((LexLeanRuntime.remainder ((a + x)) (2) (0) : Nat) = (LexLeanRuntime.remainder (((LexLeanRuntime.remainder (a) (2) (0) : Nat) + x)) (2) (0) : Nat))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{parity\_fused}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Statement: \texttt{((LexLeanRuntime.remainder (FoldLaws.Folds.total (xs)) (2) (0) : Nat) = (LexLeanCollections.listFold ((fun (acc : Nat) (v : Nat) => (LexLeanRuntime.remainder ((acc + v)) (2) (0) : Nat))) ((LexLeanRuntime.remainder (0) (2) (0) : Nat)) (xs) : Nat))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{parity\_of\_total}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat))}.\par +\noindent Statement: \texttt{((LexLeanRuntime.remainder (FoldLaws.Folds.total (xs)) (2) (0) : Nat) = parity (xs))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{count\_append}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat)) (ys : List (Nat))}.\par +\noindent Statement: \texttt{(FoldLaws.Folds.count ((LexLeanRuntime.append (xs) (ys) : List (Nat))) = (LexLeanCollections.listFold ((fun (acc : Nat) (\_v : Nat) => (acc + 1))) (FoldLaws.Folds.count (xs)) (ys) : Nat))}.\par +\noindent Axiom policy: \texttt{exact [Quot.sound, propext]}.\par +\subsection*{\texttt{requantized\_total}} +\noindent Kind: \texttt{theorem}.\par +\noindent Parameters: \texttt{(xs : List (Nat)) (ys : List (Nat))}.\par +\noindent Statement: \texttt{((FoldLaws.Folds.total (xs) <= FoldLaws.Folds.total ((LexLeanRuntime.append (xs) (ys) : List (Nat)))) /\textbackslash{} (FoldLaws.Kernels.requantize ((0 : Int)) <= (255 : Int)))}.\par +\noindent Axiom policy: \texttt{exact [Classical.choice, Quot.sound, propext]}.\par +\end{document} diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Folds.lean b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Folds.lean new file mode 100644 index 000000000..9b1a90c44 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Folds.lean @@ -0,0 +1,23 @@ +module +import FoldLaws.Folds +#print axioms FoldLaws.Folds.balance +#print axioms FoldLaws.Folds.balance_credit +#print axioms FoldLaws.Folds.count +#print axioms FoldLaws.Folds.count_is_length +#print axioms FoldLaws.Folds.credit +#print axioms FoldLaws.Folds.doubledTotal +#print axioms FoldLaws.Folds.doubled_total +#print axioms FoldLaws.Folds.doubled_total_closed +#print axioms FoldLaws.Folds.entryTotal +#print axioms FoldLaws.Folds.keyTotal +#print axioms FoldLaws.Folds.map_split +#print axioms FoldLaws.Folds.reversed +#print axioms FoldLaws.Folds.setDoubled +#print axioms FoldLaws.Folds.setTotal +#print axioms FoldLaws.Folds.set_doubled +#print axioms FoldLaws.Folds.total +#print axioms FoldLaws.Folds.total_append_commutes +#print axioms FoldLaws.Folds.total_reversed +#print axioms FoldLaws.Folds.valueTotal +#print axioms FoldLaws.Folds.weighted +#print axioms FoldLaws.Folds.weighted_total diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Folds.process.json b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Folds.process.json new file mode 100644 index 000000000..3510491aa --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Folds.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Folds.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Folds","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'FoldLaws.Folds.balance' does not depend on any axioms\n'FoldLaws.Folds.balance_credit' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Folds.count' does not depend on any axioms\n'FoldLaws.Folds.count_is_length' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Folds.credit' does not depend on any axioms\n'FoldLaws.Folds.doubledTotal' does not depend on any axioms\n'FoldLaws.Folds.doubled_total' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Folds.doubled_total_closed' does not depend on any axioms\n'FoldLaws.Folds.entryTotal' does not depend on any axioms\n'FoldLaws.Folds.keyTotal' does not depend on any axioms\n'FoldLaws.Folds.map_split' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Folds.reversed' does not depend on any axioms\n'FoldLaws.Folds.setDoubled' does not depend on any axioms\n'FoldLaws.Folds.setTotal' does not depend on any axioms\n'FoldLaws.Folds.set_doubled' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Folds.total' does not depend on any axioms\n'FoldLaws.Folds.total_append_commutes' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Folds.total_reversed' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Folds.valueTotal' does not depend on any axioms\n'FoldLaws.Folds.weighted' does not depend on any axioms\n'FoldLaws.Folds.weighted_total' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"a4ea8f3cb685d7641c55877667545b867aa7403287fe0cbb81eac6a43b056506","tool":"lean"} diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Kernels.lean b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Kernels.lean new file mode 100644 index 000000000..a3f576819 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Kernels.lean @@ -0,0 +1,19 @@ +module +import FoldLaws.Kernels +#print axioms FoldLaws.Kernels.byte_ceiling +#print axioms FoldLaws.Kernels.byte_equality +#print axioms FoldLaws.Kernels.byte_literal +#print axioms FoldLaws.Kernels.byte_order +#print axioms FoldLaws.Kernels.division_by_zero +#print axioms FoldLaws.Kernels.halving_shrinks +#print axioms FoldLaws.Kernels.requantize +#print axioms FoldLaws.Kernels.requantize_closed +#print axioms FoldLaws.Kernels.requantize_high +#print axioms FoldLaws.Kernels.requantize_low +#print axioms FoldLaws.Kernels.requantize_monotone +#print axioms FoldLaws.Kernels.requantize_runtime_monotone +#print axioms FoldLaws.Kernels.signed_byte_floor +#print axioms FoldLaws.Kernels.signed_byte_order +#print axioms FoldLaws.Kernels.truncating_division +#print axioms FoldLaws.Kernels.truncating_division_negative +#print axioms FoldLaws.Kernels.truncation_toward_zero diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Kernels.process.json b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Kernels.process.json new file mode 100644 index 000000000..3b405a4b0 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Kernels.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Kernels.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Kernels","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'FoldLaws.Kernels.byte_ceiling' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.byte_equality' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.byte_literal' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.byte_order' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.division_by_zero' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.halving_shrinks' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.requantize' depends on axioms: [propext]\n'FoldLaws.Kernels.requantize_closed' depends on axioms: [propext]\n'FoldLaws.Kernels.requantize_high' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.requantize_low' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.requantize_monotone' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.requantize_runtime_monotone' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.signed_byte_floor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'FoldLaws.Kernels.signed_byte_order' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.truncating_division' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.truncating_division_negative' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Kernels.truncation_toward_zero' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"9c2786735b0465a160f39ed65373181ac6dd6bfb42059e3dea28559c3548b286","tool":"lean"} diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Main.lean b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Main.lean new file mode 100644 index 000000000..0ba0c62c5 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Main.lean @@ -0,0 +1,10 @@ +module +import FoldLaws.Main +#print axioms FoldLaws.Main.count_append +#print axioms FoldLaws.Main.parity +#print axioms FoldLaws.Main.parity_fused +#print axioms FoldLaws.Main.parity_of_total +#print axioms FoldLaws.Main.parity_step +#print axioms FoldLaws.Main.requantized_total +#print axioms FoldLaws.Main.statistics +#print axioms FoldLaws.Main.statistics_one_pass diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Main.process.json b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Main.process.json new file mode 100644 index 000000000..4eb93f87e --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.FoldLaws.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'FoldLaws.Main.count_append' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Main.parity' does not depend on any axioms\n'FoldLaws.Main.parity_fused' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Main.parity_of_total' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Main.parity_step' depends on axioms: [propext, Quot.sound]\n'FoldLaws.Main.requantized_total' depends on axioms: [propext, Classical.choice, Quot.sound]\n'FoldLaws.Main.statistics' does not depend on any axioms\n'FoldLaws.Main.statistics_one_pass' does not depend on any axioms\n","stdout_sha256":"2652bf9be8931830e86bc7c942d488e4ad691681729b6203eed87d39cb027f07","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.lean b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Collections.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.lean rename to examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Collections.lean diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Collections.process.json b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..6e6094647 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.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/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Laws.lean b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Laws.lean new file mode 100644 index 000000000..3d95b8987 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Laws.lean @@ -0,0 +1,82 @@ +module +import LexLeanRuntime.Laws +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1.else_eq +#print axioms LexLeanCollections.lessThan.eq_1 +#print axioms LexLeanCollections.listFold.eq_1 +#print axioms LexLeanLaws.append_list +#print axioms LexLeanLaws.length_list +#print axioms LexLeanLaws.lessThan_int +#print axioms LexLeanLaws.lessThan_int16 +#print axioms LexLeanLaws.lessThan_int32 +#print axioms LexLeanLaws.lessThan_int64 +#print axioms LexLeanLaws.lessThan_int8 +#print axioms LexLeanLaws.lessThan_nat +#print axioms LexLeanLaws.lessThan_uint16 +#print axioms LexLeanLaws.lessThan_uint32 +#print axioms LexLeanLaws.lessThan_uint64 +#print axioms LexLeanLaws.lessThan_uint8 +#print axioms LexLeanLaws.listFold_add_int +#print axioms LexLeanLaws.listFold_add_int_self +#print axioms LexLeanLaws.listFold_add_nat +#print axioms LexLeanLaws.listFold_add_nat_self +#print axioms LexLeanLaws.listFold_append +#print axioms LexLeanLaws.listFold_cons +#print axioms LexLeanLaws.listFold_extend +#print axioms LexLeanLaws.listFold_fusion +#print axioms LexLeanLaws.listFold_nil +#print axioms LexLeanLaws.listFold_pair +#print axioms LexLeanLaws.listFold_prepend +#print axioms LexLeanLaws.listFold_sub_int +#print axioms LexLeanLaws.listFold_sub_int_self +#print axioms LexLeanLaws.mapEntries_self +#print axioms LexLeanLaws.mapFold_listFold +#print axioms LexLeanLaws.mapSize_length +#print axioms LexLeanLaws.quotient_int +#print axioms LexLeanLaws.quotient_nat +#print axioms LexLeanLaws.remainder_int +#print axioms LexLeanLaws.remainder_nat +#print axioms LexLeanLaws.setElements_self +#print axioms LexLeanLaws.setFold_listFold +#print axioms LexLeanLaws.setSize_length +#print axioms LexLeanLaws.sumInt +#print axioms LexLeanLaws.sumInt._f +#print axioms LexLeanLaws.sumInt._sunfold +#print axioms LexLeanLaws.sumInt._unsafe_rec +#print axioms LexLeanLaws.sumInt.eq_1 +#print axioms LexLeanLaws.sumInt.eq_2 +#print axioms LexLeanLaws.sumInt.eq_def +#print axioms LexLeanLaws.sumInt_add +#print axioms LexLeanLaws.sumInt_append +#print axioms LexLeanLaws.sumInt_cons +#print axioms LexLeanLaws.sumInt_const +#print axioms LexLeanLaws.sumInt_mul +#print axioms LexLeanLaws.sumInt_mul_right +#print axioms LexLeanLaws.sumInt_mul_self +#print axioms LexLeanLaws.sumInt_neg +#print axioms LexLeanLaws.sumInt_neg_self +#print axioms LexLeanLaws.sumInt_nil +#print axioms LexLeanLaws.sumInt_perm +#print axioms LexLeanLaws.sumInt_reverse +#print axioms LexLeanLaws.sumInt_sub +#print axioms LexLeanLaws.sumNat +#print axioms LexLeanLaws.sumNat._f +#print axioms LexLeanLaws.sumNat._sunfold +#print axioms LexLeanLaws.sumNat._unsafe_rec +#print axioms LexLeanLaws.sumNat.eq_1 +#print axioms LexLeanLaws.sumNat.eq_2 +#print axioms LexLeanLaws.sumNat.eq_def +#print axioms LexLeanLaws.sumNat.match_1 +#print axioms LexLeanLaws.sumNat_add +#print axioms LexLeanLaws.sumNat_append +#print axioms LexLeanLaws.sumNat_cons +#print axioms LexLeanLaws.sumNat_const +#print axioms LexLeanLaws.sumNat_mul +#print axioms LexLeanLaws.sumNat_mul_right +#print axioms LexLeanLaws.sumNat_mul_self +#print axioms LexLeanLaws.sumNat_nil +#print axioms LexLeanLaws.sumNat_perm +#print axioms LexLeanLaws.sumNat_reverse +#print axioms LexLeanLaws.tdiv_ediv +#print axioms LexLeanLaws.tmod_emod +#print axioms LexLeanRuntime.quotient.eq_1 +#print axioms LexLeanRuntime.remainder.eq_1 diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Laws.process.json b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Laws.process.json new file mode 100644 index 000000000..633065006 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Laws.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext]\n'LexLeanCollections.listFold.eq_1' does not depend on any axioms\n'LexLeanLaws.append_list' does not depend on any axioms\n'LexLeanLaws.length_list' does not depend on any axioms\n'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_nat' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint16' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint32' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint64' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint8' depends on axioms: [propext]\n'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_cons' does not depend on any axioms\n'LexLeanLaws.listFold_extend' depends on axioms: [propext]\n'LexLeanLaws.listFold_fusion' does not depend on any axioms\n'LexLeanLaws.listFold_nil' does not depend on any axioms\n'LexLeanLaws.listFold_pair' does not depend on any axioms\n'LexLeanLaws.listFold_prepend' depends on axioms: [propext]\n'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.mapEntries_self' does not depend on any axioms\n'LexLeanLaws.mapFold_listFold' does not depend on any axioms\n'LexLeanLaws.mapSize_length' does not depend on any axioms\n'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.setElements_self' does not depend on any axioms\n'LexLeanLaws.setFold_listFold' does not depend on any axioms\n'LexLeanLaws.setSize_length' does not depend on any axioms\n'LexLeanLaws.sumInt' does not depend on any axioms\n'LexLeanLaws.sumInt._f' does not depend on any axioms\n'LexLeanLaws.sumInt._sunfold' does not depend on any axioms\n'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_1' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_2' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_def' does not depend on any axioms\n'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_cons' does not depend on any axioms\n'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul' depends on axioms: [propext]\n'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext]\n'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_nil' does not depend on any axioms\n'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat' does not depend on any axioms\n'LexLeanLaws.sumNat._f' does not depend on any axioms\n'LexLeanLaws.sumNat._sunfold' does not depend on any axioms\n'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_1' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_2' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_def' does not depend on any axioms\n'LexLeanLaws.sumNat.match_1' does not depend on any axioms\n'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_cons' does not depend on any axioms\n'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul' does not depend on any axioms\n'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul_self' does not depend on any axioms\n'LexLeanLaws.sumNat_nil' does not depend on any axioms\n'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.quotient.eq_1' does not depend on any axioms\n'LexLeanRuntime.remainder.eq_1' does not depend on any axioms\n","stdout_sha256":"a4ba2d39c9cdfd5e40c41c5ccf4726d937fd192fc042b74bb56cc0651e28919e","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.lean b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Portable.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.lean rename to examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Portable.lean diff --git a/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Portable.process.json b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..55b7b9169 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaf614c00edde6afde0f8e98021208c76.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/fold-laws/expected/verify/audit/output.txt b/examples/fold-laws/expected/verify/audit/output.txt new file mode 100644 index 000000000..81d1ea193 --- /dev/null +++ b/examples/fold-laws/expected/verify/audit/output.txt @@ -0,0 +1,389 @@ +'FoldLaws.Folds.balance' does not depend on any axioms +'FoldLaws.Folds.balance_credit' depends on axioms: [propext, Quot.sound] +'FoldLaws.Folds.count' does not depend on any axioms +'FoldLaws.Folds.count_is_length' depends on axioms: [propext, Quot.sound] +'FoldLaws.Folds.credit' does not depend on any axioms +'FoldLaws.Folds.doubledTotal' does not depend on any axioms +'FoldLaws.Folds.doubled_total' depends on axioms: [propext, Quot.sound] +'FoldLaws.Folds.doubled_total_closed' does not depend on any axioms +'FoldLaws.Folds.entryTotal' does not depend on any axioms +'FoldLaws.Folds.keyTotal' does not depend on any axioms +'FoldLaws.Folds.map_split' depends on axioms: [propext, Quot.sound] +'FoldLaws.Folds.reversed' does not depend on any axioms +'FoldLaws.Folds.setDoubled' does not depend on any axioms +'FoldLaws.Folds.setTotal' does not depend on any axioms +'FoldLaws.Folds.set_doubled' depends on axioms: [propext, Quot.sound] +'FoldLaws.Folds.total' does not depend on any axioms +'FoldLaws.Folds.total_append_commutes' depends on axioms: [propext, Quot.sound] +'FoldLaws.Folds.total_reversed' depends on axioms: [propext, Quot.sound] +'FoldLaws.Folds.valueTotal' does not depend on any axioms +'FoldLaws.Folds.weighted' does not depend on any axioms +'FoldLaws.Folds.weighted_total' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.byte_ceiling' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.byte_equality' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.byte_literal' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.byte_order' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.division_by_zero' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.halving_shrinks' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.requantize' depends on axioms: [propext] +'FoldLaws.Kernels.requantize_closed' depends on axioms: [propext] +'FoldLaws.Kernels.requantize_high' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.requantize_low' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.requantize_monotone' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.requantize_runtime_monotone' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.signed_byte_floor' depends on axioms: [propext, Classical.choice, Quot.sound] +'FoldLaws.Kernels.signed_byte_order' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.truncating_division' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.truncating_division_negative' depends on axioms: [propext, Quot.sound] +'FoldLaws.Kernels.truncation_toward_zero' depends on axioms: [propext, Quot.sound] +'FoldLaws.Main.count_append' depends on axioms: [propext, Quot.sound] +'FoldLaws.Main.parity' does not depend on any axioms +'FoldLaws.Main.parity_fused' depends on axioms: [propext, Quot.sound] +'FoldLaws.Main.parity_of_total' depends on axioms: [propext, Quot.sound] +'FoldLaws.Main.parity_step' depends on axioms: [propext, Quot.sound] +'FoldLaws.Main.requantized_total' depends on axioms: [propext, Classical.choice, Quot.sound] +'FoldLaws.Main.statistics' does not depend on any axioms +'FoldLaws.Main.statistics_one_pass' 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 +'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext] +'LexLeanCollections.listFold.eq_1' does not depend on any axioms +'LexLeanLaws.append_list' does not depend on any axioms +'LexLeanLaws.length_list' does not depend on any axioms +'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_nat' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint16' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint32' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint64' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint8' depends on axioms: [propext] +'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_cons' does not depend on any axioms +'LexLeanLaws.listFold_extend' depends on axioms: [propext] +'LexLeanLaws.listFold_fusion' does not depend on any axioms +'LexLeanLaws.listFold_nil' does not depend on any axioms +'LexLeanLaws.listFold_pair' does not depend on any axioms +'LexLeanLaws.listFold_prepend' depends on axioms: [propext] +'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.mapEntries_self' does not depend on any axioms +'LexLeanLaws.mapFold_listFold' does not depend on any axioms +'LexLeanLaws.mapSize_length' does not depend on any axioms +'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.setElements_self' does not depend on any axioms +'LexLeanLaws.setFold_listFold' does not depend on any axioms +'LexLeanLaws.setSize_length' does not depend on any axioms +'LexLeanLaws.sumInt' does not depend on any axioms +'LexLeanLaws.sumInt._f' does not depend on any axioms +'LexLeanLaws.sumInt._sunfold' does not depend on any axioms +'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumInt.eq_1' does not depend on any axioms +'LexLeanLaws.sumInt.eq_2' does not depend on any axioms +'LexLeanLaws.sumInt.eq_def' does not depend on any axioms +'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_cons' does not depend on any axioms +'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul' depends on axioms: [propext] +'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext] +'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_nil' does not depend on any axioms +'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat' does not depend on any axioms +'LexLeanLaws.sumNat._f' does not depend on any axioms +'LexLeanLaws.sumNat._sunfold' does not depend on any axioms +'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumNat.eq_1' does not depend on any axioms +'LexLeanLaws.sumNat.eq_2' does not depend on any axioms +'LexLeanLaws.sumNat.eq_def' does not depend on any axioms +'LexLeanLaws.sumNat.match_1' does not depend on any axioms +'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_cons' does not depend on any axioms +'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul' does not depend on any axioms +'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul_self' does not depend on any axioms +'LexLeanLaws.sumNat_nil' does not depend on any axioms +'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.quotient.eq_1' does not depend on any axioms +'LexLeanRuntime.remainder.eq_1' 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/higher-order/expected/verify/probe/LexLeanProbe.P2b4f6e30534b04d6a22efe4eea3cc08c.lean b/examples/fold-laws/expected/verify/probe/LexLeanProbe.Paf614c00edde6afde0f8e98021208c76.lean similarity index 100% rename from examples/higher-order/expected/verify/probe/LexLeanProbe.P2b4f6e30534b04d6a22efe4eea3cc08c.lean rename to examples/fold-laws/expected/verify/probe/LexLeanProbe.Paf614c00edde6afde0f8e98021208c76.lean diff --git a/examples/fold-laws/expected/verify/probe/process.json b/examples/fold-laws/expected/verify/probe/process.json new file mode 100644 index 000000000..d52d6055e --- /dev/null +++ b/examples/fold-laws/expected/verify/probe/process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Paf614c00edde6afde0f8e98021208c76.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Paf614c00edde6afde0f8e98021208c76","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/fold-laws/expected/verify/process/lean/FoldLaws.Folds.json b/examples/fold-laws/expected/verify/process/lean/FoldLaws.Folds.json new file mode 100644 index 000000000..940352917 --- /dev/null +++ b/examples/fold-laws/expected/verify/process/lean/FoldLaws.Folds.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/FoldLaws/Folds.olean","$STAGING/lean-src/FoldLaws/Folds.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"FoldLaws.Folds","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/fold-laws/expected/verify/process/lean/FoldLaws.Kernels.json b/examples/fold-laws/expected/verify/process/lean/FoldLaws.Kernels.json new file mode 100644 index 000000000..ec25de784 --- /dev/null +++ b/examples/fold-laws/expected/verify/process/lean/FoldLaws.Kernels.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/FoldLaws/Kernels.olean","$STAGING/lean-src/FoldLaws/Kernels.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"FoldLaws.Kernels","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/fold-laws/expected/verify/process/lean/FoldLaws.Main.json b/examples/fold-laws/expected/verify/process/lean/FoldLaws.Main.json new file mode 100644 index 000000000..4cd054170 --- /dev/null +++ b/examples/fold-laws/expected/verify/process/lean/FoldLaws.Main.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/FoldLaws/Main.olean","$STAGING/lean-src/FoldLaws/Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"FoldLaws.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/fold-laws/expected/verify/process/lean/LexLeanRuntime.Collections.json b/examples/fold-laws/expected/verify/process/lean/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..75248f178 --- /dev/null +++ b/examples/fold-laws/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/fold-laws/expected/verify/process/lean/LexLeanRuntime.Laws.json b/examples/fold-laws/expected/verify/process/lean/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..b6b4cff9f --- /dev/null +++ b/examples/fold-laws/expected/verify/process/lean/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Laws.olean","$STAGING/lean-src/LexLeanRuntime/Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/fold-laws/expected/verify/process/lean/LexLeanRuntime.Portable.json b/examples/fold-laws/expected/verify/process/lean/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..1ce5b3a39 --- /dev/null +++ b/examples/fold-laws/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/fold-laws/expected/verify/process/leanchecker/FoldLaws.Folds.json b/examples/fold-laws/expected/verify/process/leanchecker/FoldLaws.Folds.json new file mode 100644 index 000000000..f9feabb99 --- /dev/null +++ b/examples/fold-laws/expected/verify/process/leanchecker/FoldLaws.Folds.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","FoldLaws.Folds"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"FoldLaws.Folds","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/fold-laws/expected/verify/process/leanchecker/FoldLaws.Kernels.json b/examples/fold-laws/expected/verify/process/leanchecker/FoldLaws.Kernels.json new file mode 100644 index 000000000..305342ac4 --- /dev/null +++ b/examples/fold-laws/expected/verify/process/leanchecker/FoldLaws.Kernels.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","FoldLaws.Kernels"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"FoldLaws.Kernels","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/fold-laws/expected/verify/process/leanchecker/FoldLaws.Main.json b/examples/fold-laws/expected/verify/process/leanchecker/FoldLaws.Main.json new file mode 100644 index 000000000..2f49d7e15 --- /dev/null +++ b/examples/fold-laws/expected/verify/process/leanchecker/FoldLaws.Main.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","FoldLaws.Main"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"FoldLaws.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/fold-laws/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json b/examples/fold-laws/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..52662ef9b --- /dev/null +++ b/examples/fold-laws/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/fold-laws/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json b/examples/fold-laws/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..650bb0ba4 --- /dev/null +++ b/examples/fold-laws/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Laws"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/fold-laws/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json b/examples/fold-laws/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..826a4b876 --- /dev/null +++ b/examples/fold-laws/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/fold-laws/glossary/folds.titles/entries/folds.toml b/examples/fold-laws/glossary/folds.titles/entries/folds.toml new file mode 100644 index 000000000..bbc0294ae --- /dev/null +++ b/examples/fold-laws/glossary/folds.titles/entries/folds.toml @@ -0,0 +1,16 @@ +spec = "lexlean/entry/1" +id = "folds" +category = "label-word" +surface_arity = 0 +frame = "atom" + +[denotation] +kind = "defined" +value = "(const lexlean.std.nat::nat)" + +[[form]] +id = "folds" +channel = "text" +surface = "Fold equalities" +canonical_source = true +features = ["sentence-case", "singular"] diff --git a/examples/fold-laws/glossary/folds.titles/entries/kernels.toml b/examples/fold-laws/glossary/folds.titles/entries/kernels.toml new file mode 100644 index 000000000..e72802ab1 --- /dev/null +++ b/examples/fold-laws/glossary/folds.titles/entries/kernels.toml @@ -0,0 +1,16 @@ +spec = "lexlean/entry/1" +id = "kernels" +category = "label-word" +surface_arity = 0 +frame = "atom" + +[denotation] +kind = "defined" +value = "(const lexlean.std.nat::nat)" + +[[form]] +id = "kernels" +channel = "text" +surface = "Integer kernels" +canonical_source = true +features = ["sentence-case", "singular"] diff --git a/examples/fold-laws/glossary/folds.titles/entries/main.toml b/examples/fold-laws/glossary/folds.titles/entries/main.toml new file mode 100644 index 000000000..ea554a1b0 --- /dev/null +++ b/examples/fold-laws/glossary/folds.titles/entries/main.toml @@ -0,0 +1,16 @@ +spec = "lexlean/entry/1" +id = "main" +category = "label-word" +surface_arity = 0 +frame = "atom" + +[denotation] +kind = "defined" +value = "(const lexlean.std.nat::nat)" + +[[form]] +id = "main" +channel = "text" +surface = "Programs equal for all inputs" +canonical_source = true +features = ["sentence-case", "singular"] diff --git a/examples/fold-laws/glossary/folds.titles/lexicon.toml b/examples/fold-laws/glossary/folds.titles/lexicon.toml new file mode 100644 index 000000000..601508e41 --- /dev/null +++ b/examples/fold-laws/glossary/folds.titles/lexicon.toml @@ -0,0 +1,5 @@ +spec = "lexlean/lexicon/1" +package = "folds.titles" +version = "1.0.0" +language = "1.2" +imports = ["lexlean.core@1.2.0", "lexlean.std.nat@1.2.0"] diff --git a/examples/fold-laws/lake-manifest.json b/examples/fold-laws/lake-manifest.json new file mode 100644 index 000000000..f439bdc65 --- /dev/null +++ b/examples/fold-laws/lake-manifest.json @@ -0,0 +1,6 @@ +{"version": "1.2.0", + "packagesDir": ".lake/packages", + "packages": [], + "name": "fold_laws_host", + "lakeDir": ".lake", + "fixedToolchain": false} diff --git a/examples/fold-laws/lakefile.toml b/examples/fold-laws/lakefile.toml new file mode 100644 index 000000000..047cb7857 --- /dev/null +++ b/examples/fold-laws/lakefile.toml @@ -0,0 +1,2 @@ +name = "fold_laws_host" +version = "0.1.0" diff --git a/examples/fold-laws/lean-toolchain b/examples/fold-laws/lean-toolchain new file mode 100644 index 000000000..2b61957be --- /dev/null +++ b/examples/fold-laws/lean-toolchain @@ -0,0 +1 @@ +leanprover/lean4:v4.32.1 diff --git a/examples/fold-laws/lexlean.lock b/examples/fold-laws/lexlean.lock new file mode 100644 index 000000000..ce7dfc707 --- /dev/null +++ b/examples/fold-laws/lexlean.lock @@ -0,0 +1,57 @@ +spec = "lexlean/lock/2" +language = "1.2" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" +project_config_sha256 = "6b4aefb16459176dc5845ec6df13b390d7105a2c9d8ccc8ce08d2bbabb4058d0" +lean_toolchain = "leanprover/lean4:v4.32.1" + +[[workspace_file]] +path = "lake-manifest.json" +sha256 = "49c2ebd12babef6b9fb928bf91b43f0dddef1306e87480338b5564569361d899" + +[[workspace_file]] +path = "lakefile.toml" +sha256 = "f41c7f22a4315f32a6fe206df88cade714e3031fd0f32d7f6b93b9b01ee008b5" + +[[workspace_file]] +path = "lean-toolchain" +sha256 = "8e3538e0ab5f81a3ee04927d8838c8c674e0e112838b4b3ce87ec218143276af" + +[[package]] +id = "folds.titles" +version = "1.0.0" +kind = "path" +source = "glossary/folds.titles" +revision = "none" +tree_sha256 = "0f45f7e4112147980b825a8d49fce9743085673af0beb23f5819d7e4170ae8cc" +manifest_sha256 = "134cc0f7eb2131878e05d217bee705eb304e44774ee205d043559d43ab81b770" +imports = ["lexlean.core@1.2.0", "lexlean.std.nat@1.2.0"] + +[[package]] +id = "lexlean.core" +version = "1.2.0" +kind = "builtin" +source = "embedded" +revision = "compiler-semantics" +tree_sha256 = "827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392" +manifest_sha256 = "271079763d269cc873531f515e56da960cd6321393b9460ff0e617666fa01d71" +imports = [] + +[[package]] +id = "lexlean.std.bool" +version = "1.2.0" +kind = "builtin" +source = "embedded" +revision = "compiler-semantics" +tree_sha256 = "3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b" +manifest_sha256 = "de58de2cf18a7a5a62d8c20649139d6dfe1f7b16b3130c75f150fbac5440a71e" +imports = ["lexlean.core@1.2.0"] + +[[package]] +id = "lexlean.std.nat" +version = "1.2.0" +kind = "builtin" +source = "embedded" +revision = "compiler-semantics" +tree_sha256 = "e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac" +manifest_sha256 = "6fb446b39e3c1c18a5f10cfa1f7aa2bd431837719eb0eb7489aadf452c9420a7" +imports = ["lexlean.core@1.2.0", "lexlean.std.bool@1.2.0"] diff --git a/examples/fold-laws/lexlean.toml b/examples/fold-laws/lexlean.toml new file mode 100644 index 000000000..6f93ff524 --- /dev/null +++ b/examples/fold-laws/lexlean.toml @@ -0,0 +1,32 @@ +spec = "lexlean/project/1" +name = "fold-laws" +language = "1.2" +module_prefix = "FoldLaws" +source_roots = ["src"] +entrypoints = ["src/Main.lex.tex"] +build_root = ".lexlean" +lockfile = "lexlean.lock" +lean_workspace = "." +lean_toolchain = "leanprover/lean4:v4.32.1" + +[[lexicon_source]] +package = "folds.titles" +kind = "path" +path = "glossary/folds.titles" + +[[lexicon_source]] +package = "lexlean.std.nat" +kind = "builtin" + +[limits] +max_file_bytes = 4194304 +max_total_source_bytes = 67108864 +max_primitive_atoms = 2000000 +max_token_lattice_edges = 4000000 +max_parse_states = 4000000 +max_ir_nodes = 2000000 +max_scope_depth = 1024 +max_import_depth = 128 +max_diagnostics = 256 +max_child_output_bytes = 16777216 +child_timeout_ms = 300000 diff --git a/examples/fold-laws/src/Folds.lex.tex b/examples/fold-laws/src/Folds.lex.tex new file mode 100644 index 000000000..b71ef1f8a --- /dev/null +++ b/examples/fold-laws/src/Folds.lex.tex @@ -0,0 +1,174 @@ +\begin{lexlean}{Folds} +\useglossary{lexlean.std.nat@1.2.0} +\useglossary{folds.titles@1.0.0} +\title{Fold equalities} +\begin{semanticmodule} +definition{ + name: total, + parameters: [xs : (List Nat)], + result: Nat, + body: (prim list_fold (fun (acc : Nat) (v : Nat) => (acc + v)) 0 xs : Nat), + executable: true +} + +definition{ + name: count, + parameters: [xs : (List Nat)], + result: Nat, + body: (prim list_fold (fun (acc : Nat) (v : Nat) => (acc + 1)) 0 xs : Nat), + executable: true +} + +definition{ + name: doubledTotal, + parameters: [xs : (List Nat)], + result: Nat, + body: (prim list_fold (fun (acc : Nat) (v : Nat) => ((acc + v) + v)) 0 xs : Nat), + executable: true +} + +definition{ + name: weighted, + parameters: [xs : (List Nat)], + result: Nat, + body: (prim list_fold (fun (acc : Nat) (v : Nat) => (acc + ((prim multiply 3 v : Nat) + 1))) 0 xs : Nat), + executable: true +} + +definition{ + name: reversed, + parameters: [xs : (List Nat)], + result: (List Nat), + body: (prim list_fold (fun (acc : (List Nat)) (v : Nat) => (cons v acc)) (nil Nat) xs : (List Nat)), + executable: true +} + +definition{ + name: balance, + parameters: [opening : Int, movements : (List Int)], + result: Int, + body: (prim list_fold (fun (acc : Int) (v : Int) => (prim subtract acc v : Int)) opening movements : Int), + executable: true +} + +definition{ + name: credit, + parameters: [opening : Int, movements : (List Int)], + result: Int, + body: (prim list_fold (fun (acc : Int) (v : Int) => (prim subtract acc (prim negate v : Int) : Int)) opening movements : Int), + executable: true +} + +definition{ + name: setTotal, + parameters: [s : (Set Nat)], + result: Nat, + body: (prim set_fold (fun (acc : Nat) (v : Nat) => (acc + v)) 0 s : Nat), + executable: true +} + +definition{ + name: setDoubled, + parameters: [s : (Set Nat)], + result: Nat, + body: (prim set_fold (fun (acc : Nat) (v : Nat) => (acc + (prim multiply 2 v : Nat))) 0 s : Nat), + executable: true +} + +definition{ + name: entryTotal, + parameters: [m : (Map Nat Nat)], + result: Nat, + body: (prim map_fold (fun (acc : Nat) (k : Nat) (v : Nat) => (acc + (k + v))) 0 m : Nat), + executable: true +} + +definition{ + name: keyTotal, + parameters: [m : (Map Nat Nat)], + result: Nat, + body: (prim map_fold (fun (acc : Nat) (k : Nat) (v : Nat) => (acc + k)) 0 m : Nat), + executable: true +} + +definition{ + name: valueTotal, + parameters: [m : (Map Nat Nat)], + result: Nat, + body: (prim map_fold (fun (acc : Nat) (k : Nat) (v : Nat) => (acc + v)) 0 m : Nat), + executable: true +} + +theorem{ + name: doubled_total, + parameters: [xs : (List Nat)], + statement: ((doubledTotal xs) = ((total xs) + (total xs))), + proof: linear_arithmetic{definitions: [doubledTotal, total]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: count_is_length, + parameters: [xs : (List Nat)], + statement: ((count xs) = (prim length xs : Nat)), + proof: linear_arithmetic{definitions: [count]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: weighted_total, + parameters: [xs : (List Nat)], + statement: ((weighted xs) = ((prim multiply 3 (total xs) : Nat) + (count xs))), + proof: linear_arithmetic{definitions: [count, total, weighted]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: total_append_commutes, + parameters: [xs : (List Nat), ys : (List Nat)], + statement: ((total (prim append xs ys : (List Nat))) = (total (prim append ys xs : (List Nat)))), + proof: linear_arithmetic{definitions: [total]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: total_reversed, + parameters: [xs : (List Nat)], + statement: ((total (reversed xs)) = (total xs)), + proof: linear_arithmetic{definitions: [reversed, total]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: balance_credit, + parameters: [opening : Int, movements : (List Int)], + statement: ((prim subtract (balance opening movements) opening : Int) = (prim subtract opening (credit opening movements) : Int)), + proof: linear_arithmetic{definitions: [balance, credit]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: set_doubled, + parameters: [s : (Set Nat)], + statement: ((setDoubled s) = (prim multiply 2 (setTotal s) : Nat)), + proof: linear_arithmetic{definitions: [setDoubled, setTotal]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: map_split, + parameters: [m : (Map Nat Nat)], + statement: ((entryTotal m) = ((keyTotal m) + (valueTotal m))), + proof: linear_arithmetic{definitions: [entryTotal, keyTotal, valueTotal]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: doubled_total_closed, + parameters: [], + statement: ((doubledTotal (cons 1 (cons 2 (cons 3 (nil Nat))))) = 12), + proof: decide{}, + axioms: [] +} +\end{semanticmodule} +\end{lexlean} diff --git a/examples/fold-laws/src/Kernels.lex.tex b/examples/fold-laws/src/Kernels.lex.tex new file mode 100644 index 000000000..d764ed219 --- /dev/null +++ b/examples/fold-laws/src/Kernels.lex.tex @@ -0,0 +1,143 @@ +\begin{lexlean}{Kernels} +\useglossary{lexlean.std.nat@1.2.0} +\useglossary{folds.titles@1.0.0} +\title{Integer kernels} +\begin{semanticmodule} +definition{ + name: requantize, + parameters: [x : Int], + result: Int, + body: (let q : Int := (prim quotient (prim subtract (prim multiply (prim subtract x (-20 : Int) : Int) (9365133 : Int) : Int) (-2147483648 : Int) : Int) (4294967296 : Int) (0 : Int) : Int); (if (prim less_than q (0 : Int) : Bool) then (0 : Int) else (if (prim less_than (255 : Int) q : Bool) then (255 : Int) else q))), + axioms: [propext], + executable: true +} + +theorem{ + name: requantize_monotone, + parameters: [x : Int, y : Int], + statement: ((x <= y) -> ((requantize x) <= (requantize y))), + proof: linear_arithmetic{definitions: [requantize]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: requantize_runtime_monotone, + parameters: [x : Int, y : Int], + statement: (((prim less_than y x : Bool) = false) -> ((prim less_than (requantize y) (requantize x) : Bool) = false)), + proof: linear_arithmetic{definitions: [requantize]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: requantize_low, + parameters: [x : Int], + statement: ((0 : Int) <= (requantize x)), + proof: linear_arithmetic{definitions: [requantize]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: requantize_high, + parameters: [x : Int], + statement: ((requantize x) <= (255 : Int)), + proof: linear_arithmetic{definitions: [requantize]}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: truncating_division, + parameters: [a : Int], + statement: ((prim subtract (prim multiply (prim quotient a (7 : Int) (0 : Int) : Int) (7 : Int) : Int) (prim negate (prim remainder a (7 : Int) (0 : Int) : Int) : Int) : Int) = a), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: truncating_division_negative, + parameters: [a : Int], + statement: ((prim subtract (prim multiply (prim quotient a (-7 : Int) (0 : Int) : Int) (-7 : Int) : Int) (prim negate (prim remainder a (-7 : Int) (0 : Int) : Int) : Int) : Int) = a), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: truncation_toward_zero, + parameters: [a : Int], + statement: (((prim less_than a (0 : Int) : Bool) = true) -> ((prim less_than (0 : Int) (prim remainder a (7 : Int) (0 : Int) : Int) : Bool) = false)), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: division_by_zero, + parameters: [a : Int, z : Int], + statement: ((prim quotient a (0 : Int) z : Int) = z), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: halving_shrinks, + parameters: [n : Nat], + statement: ((prim quotient n 2 0 : Nat) <= n), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: byte_order, + parameters: [x : UInt8, y : UInt8, z : UInt8], + statement: ((x <= y) -> ((y < z) -> (x < z))), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: byte_ceiling, + parameters: [x : UInt8], + statement: (x <= (255 : UInt8)), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: byte_literal, + parameters: [x : UInt8], + statement: ((x <= (5 : UInt8)) -> (x < (6 : UInt8))), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: signed_byte_order, + parameters: [x : Int8, y : Int8], + statement: (((prim less_than x y : Bool) = true) -> (x < y)), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: signed_byte_floor, + parameters: [x : Int8], + statement: (((prim less_than x (-128 : Int8) : Bool) = false) /\ (x <= (127 : Int8))), + proof: linear_arithmetic{}, + axioms: [Classical.choice, Quot.sound, propext] +} + +theorem{ + name: byte_equality, + parameters: [x : UInt8, y : UInt8], + statement: (((prim equal x y : Bool) = true) -> (x <= y)), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: requantize_closed, + parameters: [], + statement: ((requantize (100 : Int)) = (0 : Int)), + proof: decide{}, + axioms: [propext] +} +\end{semanticmodule} +\end{lexlean} diff --git a/examples/fold-laws/src/Main.lex.tex b/examples/fold-laws/src/Main.lex.tex new file mode 100644 index 000000000..6d5c5291f --- /dev/null +++ b/examples/fold-laws/src/Main.lex.tex @@ -0,0 +1,97 @@ +\begin{lexlean}{Main} +\useglossary{lexlean.std.nat@1.2.0} +\useglossary{folds.titles@1.0.0} +\importmodule{Kernels} +\importmodule{Folds} +\title{Programs equal for all inputs} +\begin{semanticmodule} +definition{ + name: statistics, + parameters: [xs : (List Nat)], + result: (Nat * Nat), + body: (prim list_fold (fun (p : (Nat * Nat)) (v : Nat) => (((first p) + v), ((second p) + 1))) (0, 0) xs : (Nat * Nat)), + executable: true +} + +theorem{ + name: statistics_one_pass, + parameters: [xs : (List Nat)], + statement: ((statistics xs) = ((Folds::total xs), (Folds::count xs))), + proof: law{ + name: list_fold_pair, + arguments: [ + (fun (acc : Nat) (v : Nat) => (acc + v)), + (fun (acc : Nat) (v : Nat) => (acc + 1)), + 0, + 0, + xs + ], + type_arguments: [Nat, Nat, Nat] + }, + axioms: [] +} + +definition{ + name: parity, + parameters: [xs : (List Nat)], + result: Nat, + body: (prim list_fold (fun (acc : Nat) (v : Nat) => (prim remainder (acc + v) 2 0 : Nat)) 0 xs : Nat), + executable: true +} + +theorem{ + name: parity_step, + parameters: [a : Nat, x : Nat], + statement: ((prim remainder (a + x) 2 0 : Nat) = (prim remainder ((prim remainder a 2 0 : Nat) + x) 2 0 : Nat)), + proof: linear_arithmetic{}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: parity_fused, + parameters: [xs : (List Nat)], + statement: ((prim remainder (Folds::total xs) 2 0 : Nat) = (prim list_fold (fun (acc : Nat) (v : Nat) => (prim remainder (acc + v) 2 0 : Nat)) (prim remainder 0 2 0 : Nat) xs : Nat)), + proof: law{ + name: list_fold_fusion, + arguments: [ + (fun (acc : Nat) (v : Nat) => (acc + v)), + (fun (acc : Nat) (v : Nat) => (prim remainder (acc + v) 2 0 : Nat)), + (fun (n : Nat) => (prim remainder n 2 0 : Nat)), + 0, + xs + ], + premises: [parity_step], + type_arguments: [Nat, Nat, Nat] + }, + axioms: [Quot.sound, propext] +} + +theorem{ + name: parity_of_total, + parameters: [xs : (List Nat)], + statement: ((prim remainder (Folds::total xs) 2 0 : Nat) = (parity xs)), + proof: apply{arguments: [xs], theorem: parity_fused}, + axioms: [Quot.sound, propext] +} + +theorem{ + name: count_append, + parameters: [xs : (List Nat), ys : (List Nat)], + statement: ((Folds::count (prim append xs ys : (List Nat))) = (prim list_fold (fun (acc : Nat) (v : Nat) => (acc + 1)) (Folds::count xs) ys : Nat)), + proof: law{ + name: list_fold_append, + arguments: [(fun (acc : Nat) (v : Nat) => (acc + 1)), 0, xs, ys], + type_arguments: [Nat, Nat] + }, + axioms: [Quot.sound, propext] +} + +theorem{ + name: requantized_total, + parameters: [xs : (List Nat), ys : (List Nat)], + statement: (((Folds::total xs) <= (Folds::total (prim append xs ys : (List Nat)))) /\ ((Kernels::requantize (0 : Int)) <= (255 : Int))), + proof: linear_arithmetic{definitions: [Folds::total, Kernels::requantize]}, + axioms: [Classical.choice, Quot.sound, propext] +} +\end{semanticmodule} +\end{lexlean} diff --git a/examples/higher-order/expected/build/manifest.json b/examples/higher-order/expected/build/manifest.json index 4c67696d4..0041e6dcb 100644 --- a/examples/higher-order/expected/build/manifest.json +++ b/examples/higher-order/expected/build/manifest.json @@ -1 +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"} +{"build_id":"1ecd3e5370e75aca292ef360ec46c2b0bbb54360fcf28d3abce721feec88f820","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"016760a2ea8fcb2434a8eb82b4f0fee10a71d4ffbc0c1874a2638300d5188556"},{"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":"d8726906057327619235d55e8aedbb6e7c7b9dacb5a27acd8866877c6713a180"},{"byte_length":4862,"kind":"map","path":"maps/HigherOrder/Main.map.json","sha256":"b0efc2edec67f6c06f2c37423b3aac22fe62a87a7875c6b3a16d369c0778049d"},{"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":"920a1b63d58008d6982cc7b7e4ab80ab30f499e977e5246017a1d0c8c05d72b3","source_id":"de0766a5480a2f18b7c6d17e9113dd4f6fb06490137410c1640ead72d302d20a","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 41eb1e568..3ec4f6d68 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":"2b4f6e30534b04d6a22efe4eea3cc08cd6670031f94ccac4cf3e38631f89d0a4","source_id":"9f9c6c497cfba9403cfdd80494bf58000c71d0e9303de1038079d60f5914384a","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":"920a1b63d58008d6982cc7b7e4ab80ab30f499e977e5246017a1d0c8c05d72b3","source_id":"de0766a5480a2f18b7c6d17e9113dd4f6fb06490137410c1640ead72d302d20a","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 23563497e..e98e49d8e 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":"2b4f6e30534b04d6a22efe4eea3cc08cd6670031f94ccac4cf3e38631f89d0a4","source_id":"9f9c6c497cfba9403cfdd80494bf58000c71d0e9303de1038079d60f5914384a","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":"920a1b63d58008d6982cc7b7e4ab80ab30f499e977e5246017a1d0c8c05d72b3","source_id":"de0766a5480a2f18b7c6d17e9113dd4f6fb06490137410c1640ead72d302d20a","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.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.process.json b/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.process.json deleted file mode 100644 index 2288dd9a1..000000000 --- a/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.process.json b/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.process.json deleted file mode 100644 index 5fe9e1a21..000000000 --- a/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.lean b/examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Combinators.lean similarity index 100% rename from examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.lean rename to examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Combinators.lean diff --git a/examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Combinators.process.json b/examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Combinators.process.json new file mode 100644 index 000000000..ad68721dd --- /dev/null +++ b/examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Combinators.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Combinators.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.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.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.lean b/examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Main.lean similarity index 100% rename from examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.lean rename to examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Main.lean diff --git a/examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Main.process.json b/examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Main.process.json new file mode 100644 index 000000000..73ca3ea41 --- /dev/null +++ b/examples/higher-order/expected/verify/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.HigherOrder.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A920a1b63d58008d6982cc7b7e4ab80ab.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/language-1.2/expected/verify/probe/LexLeanProbe.P0e3c96c4ccf3b33e3026f327d3a2737d.lean b/examples/higher-order/expected/verify/probe/LexLeanProbe.P920a1b63d58008d6982cc7b7e4ab80ab.lean similarity index 100% rename from examples/language-1.2/expected/verify/probe/LexLeanProbe.P0e3c96c4ccf3b33e3026f327d3a2737d.lean rename to examples/higher-order/expected/verify/probe/LexLeanProbe.P920a1b63d58008d6982cc7b7e4ab80ab.lean diff --git a/examples/higher-order/expected/verify/probe/process.json b/examples/higher-order/expected/verify/probe/process.json index 5021f1bc6..9cd1f191b 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.P2b4f6e30534b04d6a22efe4eea3cc08c.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P2b4f6e30534b04d6a22efe4eea3cc08c","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P920a1b63d58008d6982cc7b7e4ab80ab.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P920a1b63d58008d6982cc7b7e4ab80ab","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 a8dac48d2..81651e2d4 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 b6a32bdaf..4277e1660 100644 --- a/examples/language-1.2/expected/build/manifest.json +++ b/examples/language-1.2/expected/build/manifest.json @@ -1 +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"} +{"build_id":"f05b64b5f2268616fe7778015f6696292641ef0e1cfc52cc8d1d2c9276d4274c","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"a791c9d9c9037c7eca5caa96fb11a080240cb35736e3ed28bca8fae93a6b544c"},{"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":"2b2b2355a7fcfdeb5118be37d8828a3f2317aa52f5975bb82f16e7c6e1459351"},{"byte_length":834,"kind":"tex","path":"modules/LanguageTwelve/Main.tex","sha256":"c1b7005570e64d41f460dbb1d974d941e5c5e36d43e9c2bfc64fbd9dca26e11b"}],"project":"language-twelve","selection":["Main"],"semantic_id":"da3df9db92f0d11bd1cf6d7fe3703aa2afee0c64a9f917beca9d41a7355e18da","source_id":"1bfc8de892b9c16c8b0cb80b0bd1a20bc27e4fdfe29a744fc570292050156a5d","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 0f56c5490..a7aa33f1f 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":"0e3c96c4ccf3b33e3026f327d3a2737d66b3cb5a394f067f497c7e3118ee0960","source_id":"99664ae4c2ea088924efc7f778dbc9df3a6344e3ffd43b60164de799b7e3075f","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":"da3df9db92f0d11bd1cf6d7fe3703aa2afee0c64a9f917beca9d41a7355e18da","source_id":"1bfc8de892b9c16c8b0cb80b0bd1a20bc27e4fdfe29a744fc570292050156a5d","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.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.process.json b/examples/language-1.2/expected/verify/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.process.json deleted file mode 100644 index 9458ddc57..000000000 --- a/examples/language-1.2/expected/verify/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.lean b/examples/language-1.2/expected/verify/audit/LexLeanAudit.Ada3df9db92f0d11bd1cf6d7fe3703aa2.LanguageTwelve.Main.lean similarity index 100% rename from examples/language-1.2/expected/verify/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.lean rename to examples/language-1.2/expected/verify/audit/LexLeanAudit.Ada3df9db92f0d11bd1cf6d7fe3703aa2.LanguageTwelve.Main.lean diff --git a/examples/language-1.2/expected/verify/audit/LexLeanAudit.Ada3df9db92f0d11bd1cf6d7fe3703aa2.LanguageTwelve.Main.process.json b/examples/language-1.2/expected/verify/audit/LexLeanAudit.Ada3df9db92f0d11bd1cf6d7fe3703aa2.LanguageTwelve.Main.process.json new file mode 100644 index 000000000..79c1f4e4a --- /dev/null +++ b/examples/language-1.2/expected/verify/audit/LexLeanAudit.Ada3df9db92f0d11bd1cf6d7fe3703aa2.LanguageTwelve.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ada3df9db92f0d11bd1cf6d7fe3703aa2.LanguageTwelve.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ada3df9db92f0d11bd1cf6d7fe3703aa2.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/models/expected/verify/probe/LexLeanProbe.P0f600e9a78a6f4d72a3e289fa7bc71d4.lean b/examples/language-1.2/expected/verify/probe/LexLeanProbe.Pda3df9db92f0d11bd1cf6d7fe3703aa2.lean similarity index 100% rename from examples/models/expected/verify/probe/LexLeanProbe.P0f600e9a78a6f4d72a3e289fa7bc71d4.lean rename to examples/language-1.2/expected/verify/probe/LexLeanProbe.Pda3df9db92f0d11bd1cf6d7fe3703aa2.lean diff --git a/examples/language-1.2/expected/verify/probe/process.json b/examples/language-1.2/expected/verify/probe/process.json index ce90356a7..03a6445c2 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.P0e3c96c4ccf3b33e3026f327d3a2737d.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P0e3c96c4ccf3b33e3026f327d3a2737d","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pda3df9db92f0d11bd1cf6d7fe3703aa2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pda3df9db92f0d11bd1cf6d7fe3703aa2","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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 37bbaa518..adec8a48a 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":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"} +{"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":372,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":538,"byte_start":372,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":695,"byte_start":538,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1312,"byte_start":695,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4373,"byte_start":1312,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4613,"byte_start":4373,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4779,"byte_start":4613,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4944,"byte_start":4779,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5382,"byte_start":4944,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8437,"byte_start":5382,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11493,"byte_start":8437,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11632,"byte_start":11493,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12073,"byte_start":11632,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12220,"byte_start":12073,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12329,"byte_start":12220,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12441,"byte_start":12329,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15479,"byte_start":12441,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15636,"byte_start":15479,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16767,"byte_start":15636,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16908,"byte_start":16767,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17016,"byte_start":16908,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17123,"byte_start":17016,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20251,"byte_start":17123,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20350,"byte_start":20251,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20452,"byte_start":20350,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23544,"byte_start":20452,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23881,"byte_start":23544,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24458,"byte_start":23881,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27578,"byte_start":24458,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30701,"byte_start":27578,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30973,"byte_start":30701,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31115,"byte_start":30973,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31300,"byte_start":31115,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34401,"byte_start":31300,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34575,"byte_start":34401,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35173,"byte_start":34575,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38275,"byte_start":35173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41378,"byte_start":38275,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41673,"byte_start":41378,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42014,"byte_start":41673,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42621,"byte_start":42014,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45775,"byte_start":42621,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48932,"byte_start":45775,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49197,"byte_start":48932,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49536,"byte_start":49197,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52767,"byte_start":49536,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53429,"byte_start":52767,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56555,"byte_start":53429,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59686,"byte_start":56555,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59973,"byte_start":59686,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60146,"byte_start":59973,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61165,"byte_start":60146,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61464,"byte_start":61165,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61627,"byte_start":61464,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61831,"byte_start":61627,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62521,"byte_start":61831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62818,"byte_start":62521,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62836,"byte_start":62818,"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/Ledger.coverage.json b/examples/models/expected/build/coverage/Models/Ledger.coverage.json index a59a5e516..7c35a031d 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":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"} +{"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":345,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":416,"byte_start":345,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":490,"byte_start":416,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3533,"byte_start":490,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6579,"byte_start":3533,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6659,"byte_start":6579,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6742,"byte_start":6659,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9798,"byte_start":6742,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9898,"byte_start":9798,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10001,"byte_start":9898,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13093,"byte_start":10001,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16188,"byte_start":13093,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17009,"byte_start":16188,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17140,"byte_start":17009,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17228,"byte_start":17140,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20330,"byte_start":17228,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23405,"byte_start":20330,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23603,"byte_start":23405,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23809,"byte_start":23603,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24020,"byte_start":23809,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24232,"byte_start":24020,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24552,"byte_start":24232,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24683,"byte_start":24552,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24771,"byte_start":24683,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27849,"byte_start":24771,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30908,"byte_start":27849,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31287,"byte_start":30908,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31493,"byte_start":31287,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31975,"byte_start":31493,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32302,"byte_start":31975,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32586,"byte_start":32302,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32656,"byte_start":32586,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35702,"byte_start":32656,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38778,"byte_start":35702,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41834,"byte_start":38778,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42532,"byte_start":41834,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42738,"byte_start":42532,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42898,"byte_start":42738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45955,"byte_start":42898,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49000,"byte_start":45955,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49337,"byte_start":49000,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49541,"byte_start":49337,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49611,"byte_start":49541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49684,"byte_start":49611,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52727,"byte_start":49684,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55773,"byte_start":52727,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55851,"byte_start":55773,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55932,"byte_start":55851,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58988,"byte_start":55932,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59482,"byte_start":58988,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59569,"byte_start":59482,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59659,"byte_start":59569,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62697,"byte_start":59659,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62856,"byte_start":62697,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62962,"byte_start":62856,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66038,"byte_start":62962,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66349,"byte_start":66038,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66519,"byte_start":66349,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66607,"byte_start":66519,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66792,"byte_start":66607,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66885,"byte_start":66792,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66944,"byte_start":66885,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67040,"byte_start":66944,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67223,"byte_start":67040,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67242,"byte_start":67223,"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/Pipeline.coverage.json b/examples/models/expected/build/coverage/Models/Pipeline.coverage.json index bbf0369a6..3f89ed1fb 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":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"} +{"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":492,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":618,"byte_start":492,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":866,"byte_start":618,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1043,"byte_start":866,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1437,"byte_start":1043,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1680,"byte_start":1437,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4805,"byte_start":1680,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5187,"byte_start":4805,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5395,"byte_start":5187,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5520,"byte_start":5395,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5678,"byte_start":5520,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5847,"byte_start":5678,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5848,"byte_start":5847,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6237,"byte_start":5848,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6618,"byte_start":6237,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6822,"byte_start":6618,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6975,"byte_start":6822,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7086,"byte_start":6975,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7087,"byte_start":7086,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7198,"byte_start":7087,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7531,"byte_start":7198,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7698,"byte_start":7531,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7815,"byte_start":7698,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8000,"byte_start":7815,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8001,"byte_start":8000,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8166,"byte_start":8001,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8503,"byte_start":8166,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8675,"byte_start":8503,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8803,"byte_start":8675,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9011,"byte_start":8803,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9012,"byte_start":9011,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9217,"byte_start":9012,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9450,"byte_start":9217,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9613,"byte_start":9450,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9768,"byte_start":9613,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9878,"byte_start":9768,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9879,"byte_start":9878,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10070,"byte_start":9879,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10405,"byte_start":10070,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10573,"byte_start":10405,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10684,"byte_start":10573,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10808,"byte_start":10684,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10935,"byte_start":10808,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14023,"byte_start":10935,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14209,"byte_start":14023,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15333,"byte_start":14209,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15474,"byte_start":15333,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15495,"byte_start":15474,"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/Recognizer.coverage.json b/examples/models/expected/build/coverage/Models/Recognizer.coverage.json index efd7d36e5..fc49ceb94 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":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"} +{"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":377,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2566,"byte_start":377,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3193,"byte_start":2566,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5967,"byte_start":3193,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6612,"byte_start":5967,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7222,"byte_start":6612,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7442,"byte_start":7222,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7580,"byte_start":7442,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7722,"byte_start":7580,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10843,"byte_start":7722,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13967,"byte_start":10843,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14351,"byte_start":13967,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14531,"byte_start":14351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18440,"byte_start":14531,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18790,"byte_start":18440,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19129,"byte_start":18790,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20581,"byte_start":19129,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20689,"byte_start":20581,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23771,"byte_start":20689,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24109,"byte_start":23771,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24655,"byte_start":24109,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24766,"byte_start":24655,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24880,"byte_start":24766,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25009,"byte_start":24880,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25032,"byte_start":25009,"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 f4ee76518..dbd875d2e 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":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"} +{"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":305,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":363,"byte_start":305,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":462,"byte_start":363,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564,"byte_start":462,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3672,"byte_start":564,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3763,"byte_start":3672,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3857,"byte_start":3763,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6923,"byte_start":3857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7098,"byte_start":6923,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7445,"byte_start":7098,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7936,"byte_start":7445,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8015,"byte_start":7936,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11146,"byte_start":8015,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14340,"byte_start":11146,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14941,"byte_start":14340,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15219,"byte_start":14941,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15239,"byte_start":15219,"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/manifest.json b/examples/models/expected/build/manifest.json index cc08e75ca..35a6d4542 100644 --- a/examples/models/expected/build/manifest.json +++ b/examples/models/expected/build/manifest.json @@ -1 +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"} +{"build_id":"e860f3d9001c857c5f1d813a042f039fb65b26093d73e2c572d1123e080bafb0","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"6bae7f63fdc15f5e017d4fc2c6a18c347e50ac06c513e7057ae2ce4e570a65cb"},{"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":24217,"kind":"coverage","path":"coverage/Models/Flows.coverage.json","sha256":"e9b1f6037cee26e0cdc097c7bc65ed0345263b1ed4463ed7d210eafaad1adff4"},{"byte_length":9847,"kind":"coverage","path":"coverage/Models/Glyphs.coverage.json","sha256":"072aea809bb4e07810443bd6655b3dbedd5ffc81ee90b3b281013c7dc18f0001"},{"byte_length":25557,"kind":"coverage","path":"coverage/Models/Ledger.coverage.json","sha256":"8029c3cef9485dee7bf5585898f5416186731f9b0ec1df5b5186865278447b01"},{"byte_length":30015,"kind":"coverage","path":"coverage/Models/Main.coverage.json","sha256":"477bcd9b3e0f0d6061de1f0e125668d19ca0a963a869aebd621c4f8361f9d42d"},{"byte_length":24131,"kind":"coverage","path":"coverage/Models/Pipeline.coverage.json","sha256":"e082ea27d2b6e96f9168548252aa12f19153ef34d27b5031617fd7720cbabb88"},{"byte_length":12248,"kind":"coverage","path":"coverage/Models/Policy.coverage.json","sha256":"04dc9b952a28d723f62e3b56b063eddd9953f0aefd29d3897e66bc735ff78445"},{"byte_length":15495,"kind":"coverage","path":"coverage/Models/Recognizer.coverage.json","sha256":"69fdda5a237d1935f7ca26006e6560af6dcbebadb69d17f227a2429866e7cbb9"},{"byte_length":12487,"kind":"coverage","path":"coverage/Models/Session.coverage.json","sha256":"480eff88eec1169a6d701a53c9669598b579ce0699d75c695d043020180095ed"},{"byte_length":13513,"kind":"coverage","path":"coverage/Models/Triage.coverage.json","sha256":"5837a31c1b4d9651670e477b15abfb0c466a57d9b777987c99f059e2b3a02ac5"},{"byte_length":62836,"kind":"lean","path":"modules/Models/Flows.lean","sha256":"871a71c6eed0efaca275f805e9b26dd7eb07d1bbf0d6fccaf65fd0ffcbf61f3e"},{"byte_length":2855,"kind":"lean","path":"modules/Models/Glyphs.lean","sha256":"8aa86a6b8345f27ccbe31ec8e215ccbc41f5a94b80b06b46c9a953e230e2f14c"},{"byte_length":67242,"kind":"lean","path":"modules/Models/Ledger.lean","sha256":"6097dcedded56f40246156dbf0b299695566039e964ca0e1cc1e95641bd9cdac"},{"byte_length":17668,"kind":"lean","path":"modules/Models/Main.lean","sha256":"658e891f7761222d52582f26186d208769621fdabaa1a0309cba849c8f0d0509"},{"byte_length":15495,"kind":"lean","path":"modules/Models/Pipeline.lean","sha256":"0974e254daa6ea324063802ef965309e195c2cadb3ff154a7ecab65e011e2cb1"},{"byte_length":2673,"kind":"lean","path":"modules/Models/Policy.lean","sha256":"75af53ee823cb3b3a8a2fa5518ca4705eaf5cd16ff963e45a936a3bc888f2105"},{"byte_length":25032,"kind":"lean","path":"modules/Models/Recognizer.lean","sha256":"c3c1a25b313cdf4e12d29fad952adf3d0e4fc0c8d8f4c2d4ba6db942e53a3b09"},{"byte_length":15239,"kind":"lean","path":"modules/Models/Session.lean","sha256":"6b3037069b9b123c316c85e9a2126779078ed85ea658a8d04ae4693582185074"},{"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":19292,"kind":"map","path":"maps/Models/Flows.map.json","sha256":"8aca5320bc045a1a688398dacb522abdc62f39c5be15ddab37e989acaae9712f"},{"byte_length":2945,"kind":"map","path":"maps/Models/Glyphs.map.json","sha256":"e34f2687a82123722493b573140cf20c7c342751d109503dccd6f74f41122ff5"},{"byte_length":21594,"kind":"map","path":"maps/Models/Ledger.map.json","sha256":"b4f429cd3ad6703286c4d6d386f996bcb598a482be338a71f142e038ed8c3882"},{"byte_length":21960,"kind":"map","path":"maps/Models/Main.map.json","sha256":"44a4c90efdce1fa8d3a5d7ea7b1fe9c883e7997bb85cb4561abdb9b73694c6a5"},{"byte_length":15952,"kind":"map","path":"maps/Models/Pipeline.map.json","sha256":"7340585bbf1a95e0a208b2eabefb7f26811a81f50551be49dda8b9b5e0236353"},{"byte_length":4862,"kind":"map","path":"maps/Models/Policy.map.json","sha256":"b971213b91069faa4ebb3a11d2c3e90e8147372ed2ccc0bac446c2ade96cab63"},{"byte_length":8484,"kind":"map","path":"maps/Models/Recognizer.map.json","sha256":"c9dac138caa193d5d067f67420e2b07d6adcc1a50bbf890ea0ab57d7aabf27fe"},{"byte_length":5833,"kind":"map","path":"maps/Models/Session.map.json","sha256":"00052472e99aebc6cd6be19376c767a228c334fbfcbcfc4e407f9b6ee2709074"},{"byte_length":7133,"kind":"map","path":"maps/Models/Triage.map.json","sha256":"c522226c4358e8c103969cfbca42bf0e7188dcbc7e9ec2085f0a47f503adf151"},{"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 c552f363b..3cdf48d3a 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Flows.lean"},{"id":1,"kind":"tex","path":"modules/Models/Flows.tex"}],"mappings":[{"artifact":0,"gen_end":372,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":13246,"src_start":0},{"artifact":0,"gen_end":538,"gen_start":372,"node":1,"role":"declaration","source":0,"src_end":382,"src_start":160},{"artifact":0,"gen_end":695,"gen_start":538,"node":2,"role":"declaration","source":0,"src_end":694,"src_start":384},{"artifact":0,"gen_end":1312,"gen_start":695,"node":3,"role":"declaration","source":0,"src_end":1026,"src_start":696},{"artifact":0,"gen_end":4373,"gen_start":1312,"node":4,"role":"declaration","source":0,"src_end":1207,"src_start":1028},{"artifact":0,"gen_end":4613,"gen_start":4373,"node":5,"role":"declaration","source":0,"src_end":1331,"src_start":1209},{"artifact":0,"gen_end":4779,"gen_start":4613,"node":6,"role":"declaration","source":0,"src_end":1555,"src_start":1333},{"artifact":0,"gen_end":4944,"gen_start":4779,"node":7,"role":"declaration","source":0,"src_end":1846,"src_start":1557},{"artifact":0,"gen_end":5382,"gen_start":4944,"node":8,"role":"declaration","source":0,"src_end":2107,"src_start":1848},{"artifact":0,"gen_end":8437,"gen_start":5382,"node":9,"role":"declaration","source":0,"src_end":2284,"src_start":2109},{"artifact":0,"gen_end":11493,"gen_start":8437,"node":10,"role":"declaration","source":0,"src_end":2462,"src_start":2286},{"artifact":0,"gen_end":11632,"gen_start":11493,"node":11,"role":"declaration","source":0,"src_end":2619,"src_start":2464},{"artifact":0,"gen_end":12073,"gen_start":11632,"node":12,"role":"declaration","source":0,"src_end":2883,"src_start":2621},{"artifact":0,"gen_end":12220,"gen_start":12073,"node":13,"role":"declaration","source":0,"src_end":3048,"src_start":2885},{"artifact":0,"gen_end":12329,"gen_start":12220,"node":14,"role":"declaration","source":0,"src_end":3165,"src_start":3050},{"artifact":0,"gen_end":12441,"gen_start":12329,"node":15,"role":"declaration","source":0,"src_end":3308,"src_start":3167},{"artifact":0,"gen_end":15479,"gen_start":12441,"node":16,"role":"declaration","source":0,"src_end":3507,"src_start":3310},{"artifact":0,"gen_end":15636,"gen_start":15479,"node":17,"role":"declaration","source":0,"src_end":3783,"src_start":3509},{"artifact":0,"gen_end":16767,"gen_start":15636,"node":18,"role":"declaration","source":0,"src_end":4022,"src_start":3785},{"artifact":0,"gen_end":16908,"gen_start":16767,"node":19,"role":"declaration","source":0,"src_end":4138,"src_start":4024},{"artifact":0,"gen_end":17016,"gen_start":16908,"node":20,"role":"declaration","source":0,"src_end":4257,"src_start":4140},{"artifact":0,"gen_end":17123,"gen_start":17016,"node":21,"role":"declaration","source":0,"src_end":4406,"src_start":4259},{"artifact":0,"gen_end":20251,"gen_start":17123,"node":22,"role":"declaration","source":0,"src_end":4684,"src_start":4408},{"artifact":0,"gen_end":20350,"gen_start":20251,"node":23,"role":"declaration","source":0,"src_end":4784,"src_start":4686},{"artifact":0,"gen_end":20452,"gen_start":20350,"node":24,"role":"declaration","source":0,"src_end":4920,"src_start":4786},{"artifact":0,"gen_end":23544,"gen_start":20452,"node":25,"role":"declaration","source":0,"src_end":5161,"src_start":4922},{"artifact":0,"gen_end":23881,"gen_start":23544,"node":26,"role":"declaration","source":0,"src_end":5584,"src_start":5163},{"artifact":0,"gen_end":24458,"gen_start":23881,"node":27,"role":"declaration","source":0,"src_end":5869,"src_start":5586},{"artifact":0,"gen_end":27578,"gen_start":24458,"node":28,"role":"declaration","source":0,"src_end":6111,"src_start":5871},{"artifact":0,"gen_end":30701,"gen_start":27578,"node":29,"role":"declaration","source":0,"src_end":6355,"src_start":6113},{"artifact":0,"gen_end":30973,"gen_start":30701,"node":30,"role":"declaration","source":0,"src_end":6502,"src_start":6357},{"artifact":0,"gen_end":31115,"gen_start":30973,"node":31,"role":"declaration","source":0,"src_end":6654,"src_start":6504},{"artifact":0,"gen_end":31300,"gen_start":31115,"node":32,"role":"declaration","source":0,"src_end":6856,"src_start":6656},{"artifact":0,"gen_end":34401,"gen_start":31300,"node":33,"role":"declaration","source":0,"src_end":7135,"src_start":6858},{"artifact":0,"gen_end":34575,"gen_start":34401,"node":34,"role":"declaration","source":0,"src_end":7477,"src_start":7137},{"artifact":0,"gen_end":35173,"gen_start":34575,"node":35,"role":"declaration","source":0,"src_end":7770,"src_start":7479},{"artifact":0,"gen_end":38275,"gen_start":35173,"node":36,"role":"declaration","source":0,"src_end":8021,"src_start":7772},{"artifact":0,"gen_end":41378,"gen_start":38275,"node":37,"role":"declaration","source":0,"src_end":8274,"src_start":8023},{"artifact":0,"gen_end":41673,"gen_start":41378,"node":38,"role":"declaration","source":0,"src_end":8430,"src_start":8276},{"artifact":0,"gen_end":42014,"gen_start":41673,"node":39,"role":"declaration","source":0,"src_end":8847,"src_start":8432},{"artifact":0,"gen_end":42621,"gen_start":42014,"node":40,"role":"declaration","source":0,"src_end":9167,"src_start":8849},{"artifact":0,"gen_end":45775,"gen_start":42621,"node":41,"role":"declaration","source":0,"src_end":9435,"src_start":9169},{"artifact":0,"gen_end":48932,"gen_start":45775,"node":42,"role":"declaration","source":0,"src_end":9705,"src_start":9437},{"artifact":0,"gen_end":49197,"gen_start":48932,"node":43,"role":"declaration","source":0,"src_end":9861,"src_start":9707},{"artifact":0,"gen_end":49536,"gen_start":49197,"node":44,"role":"declaration","source":0,"src_end":10304,"src_start":9863},{"artifact":0,"gen_end":52767,"gen_start":49536,"node":45,"role":"declaration","source":0,"src_end":10643,"src_start":10306},{"artifact":0,"gen_end":53429,"gen_start":52767,"node":46,"role":"declaration","source":0,"src_end":11008,"src_start":10645},{"artifact":0,"gen_end":56555,"gen_start":53429,"node":47,"role":"declaration","source":0,"src_end":11256,"src_start":11010},{"artifact":0,"gen_end":59686,"gen_start":56555,"node":48,"role":"declaration","source":0,"src_end":11507,"src_start":11258},{"artifact":0,"gen_end":59973,"gen_start":59686,"node":49,"role":"declaration","source":0,"src_end":11670,"src_start":11509},{"artifact":0,"gen_end":60146,"gen_start":59973,"node":50,"role":"declaration","source":0,"src_end":11992,"src_start":11672},{"artifact":0,"gen_end":61165,"gen_start":60146,"node":51,"role":"declaration","source":0,"src_end":12342,"src_start":11994},{"artifact":0,"gen_end":61464,"gen_start":61165,"node":52,"role":"declaration","source":0,"src_end":12454,"src_start":12344},{"artifact":0,"gen_end":61627,"gen_start":61464,"node":53,"role":"declaration","source":0,"src_end":12660,"src_start":12456},{"artifact":0,"gen_end":61831,"gen_start":61627,"node":54,"role":"declaration","source":0,"src_end":12757,"src_start":12662},{"artifact":0,"gen_end":62521,"gen_start":61831,"node":55,"role":"declaration","source":0,"src_end":13099,"src_start":12759},{"artifact":0,"gen_end":62818,"gen_start":62521,"node":56,"role":"declaration","source":0,"src_end":13210,"src_start":13101},{"artifact":0,"gen_end":62836,"gen_start":62818,"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 9f98ba60a..381dad05c 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":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"} +{"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 1fda41c07..468f021ae 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Ledger.lean"},{"id":1,"kind":"tex","path":"modules/Models/Ledger.tex"}],"mappings":[{"artifact":0,"gen_end":345,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":13264,"src_start":0},{"artifact":0,"gen_end":416,"gen_start":345,"node":1,"role":"declaration","source":0,"src_end":221,"src_start":142},{"artifact":0,"gen_end":490,"gen_start":416,"node":2,"role":"declaration","source":0,"src_end":338,"src_start":223},{"artifact":0,"gen_end":3533,"gen_start":490,"node":3,"role":"declaration","source":0,"src_end":542,"src_start":340},{"artifact":0,"gen_end":6579,"gen_start":3533,"node":4,"role":"declaration","source":0,"src_end":749,"src_start":544},{"artifact":0,"gen_end":6659,"gen_start":6579,"node":5,"role":"declaration","source":0,"src_end":837,"src_start":751},{"artifact":0,"gen_end":6742,"gen_start":6659,"node":6,"role":"declaration","source":0,"src_end":961,"src_start":839},{"artifact":0,"gen_end":9798,"gen_start":6742,"node":7,"role":"declaration","source":0,"src_end":1173,"src_start":963},{"artifact":0,"gen_end":9898,"gen_start":9798,"node":8,"role":"declaration","source":0,"src_end":1288,"src_start":1175},{"artifact":0,"gen_end":10001,"gen_start":9898,"node":9,"role":"declaration","source":0,"src_end":1429,"src_start":1290},{"artifact":0,"gen_end":13093,"gen_start":10001,"node":10,"role":"declaration","source":0,"src_end":1667,"src_start":1431},{"artifact":0,"gen_end":16188,"gen_start":13093,"node":11,"role":"declaration","source":0,"src_end":1908,"src_start":1669},{"artifact":0,"gen_end":17009,"gen_start":16188,"node":12,"role":"declaration","source":0,"src_end":2521,"src_start":1910},{"artifact":0,"gen_end":17140,"gen_start":17009,"node":13,"role":"declaration","source":0,"src_end":2709,"src_start":2523},{"artifact":0,"gen_end":17228,"gen_start":17140,"node":14,"role":"declaration","source":0,"src_end":2840,"src_start":2711},{"artifact":0,"gen_end":20330,"gen_start":17228,"node":15,"role":"declaration","source":0,"src_end":3111,"src_start":2842},{"artifact":0,"gen_end":23405,"gen_start":20330,"node":16,"role":"declaration","source":0,"src_end":3340,"src_start":3113},{"artifact":0,"gen_end":23603,"gen_start":23405,"node":17,"role":"declaration","source":0,"src_end":3532,"src_start":3342},{"artifact":0,"gen_end":23809,"gen_start":23603,"node":18,"role":"declaration","source":0,"src_end":3670,"src_start":3534},{"artifact":0,"gen_end":24020,"gen_start":23809,"node":19,"role":"declaration","source":0,"src_end":3881,"src_start":3672},{"artifact":0,"gen_end":24232,"gen_start":24020,"node":20,"role":"declaration","source":0,"src_end":4023,"src_start":3883},{"artifact":0,"gen_end":24552,"gen_start":24232,"node":21,"role":"declaration","source":0,"src_end":4410,"src_start":4025},{"artifact":0,"gen_end":24683,"gen_start":24552,"node":22,"role":"declaration","source":0,"src_end":4598,"src_start":4412},{"artifact":0,"gen_end":24771,"gen_start":24683,"node":23,"role":"declaration","source":0,"src_end":4729,"src_start":4600},{"artifact":0,"gen_end":27849,"gen_start":24771,"node":24,"role":"declaration","source":0,"src_end":4976,"src_start":4731},{"artifact":0,"gen_end":30908,"gen_start":27849,"node":25,"role":"declaration","source":0,"src_end":5189,"src_start":4978},{"artifact":0,"gen_end":31287,"gen_start":30908,"node":26,"role":"declaration","source":0,"src_end":5464,"src_start":5191},{"artifact":0,"gen_end":31493,"gen_start":31287,"node":27,"role":"declaration","source":0,"src_end":5601,"src_start":5466},{"artifact":0,"gen_end":31975,"gen_start":31493,"node":28,"role":"declaration","source":0,"src_end":6046,"src_start":5603},{"artifact":0,"gen_end":32302,"gen_start":31975,"node":29,"role":"declaration","source":0,"src_end":6382,"src_start":6048},{"artifact":0,"gen_end":32586,"gen_start":32302,"node":30,"role":"declaration","source":0,"src_end":6653,"src_start":6384},{"artifact":0,"gen_end":32656,"gen_start":32586,"node":31,"role":"declaration","source":0,"src_end":6753,"src_start":6655},{"artifact":0,"gen_end":35702,"gen_start":32656,"node":32,"role":"declaration","source":0,"src_end":6973,"src_start":6755},{"artifact":0,"gen_end":38778,"gen_start":35702,"node":33,"role":"declaration","source":0,"src_end":7220,"src_start":6975},{"artifact":0,"gen_end":41834,"gen_start":38778,"node":34,"role":"declaration","source":0,"src_end":7432,"src_start":7222},{"artifact":0,"gen_end":42532,"gen_start":41834,"node":35,"role":"declaration","source":0,"src_end":7803,"src_start":7434},{"artifact":0,"gen_end":42738,"gen_start":42532,"node":36,"role":"declaration","source":0,"src_end":7938,"src_start":7805},{"artifact":0,"gen_end":42898,"gen_start":42738,"node":37,"role":"declaration","source":0,"src_end":8213,"src_start":7940},{"artifact":0,"gen_end":45955,"gen_start":42898,"node":38,"role":"declaration","source":0,"src_end":8441,"src_start":8215},{"artifact":0,"gen_end":49000,"gen_start":45955,"node":39,"role":"declaration","source":0,"src_end":8642,"src_start":8443},{"artifact":0,"gen_end":49337,"gen_start":49000,"node":40,"role":"declaration","source":0,"src_end":8925,"src_start":8644},{"artifact":0,"gen_end":49541,"gen_start":49337,"node":41,"role":"declaration","source":0,"src_end":9059,"src_start":8927},{"artifact":0,"gen_end":49611,"gen_start":49541,"node":42,"role":"declaration","source":0,"src_end":9139,"src_start":9061},{"artifact":0,"gen_end":49684,"gen_start":49611,"node":43,"role":"declaration","source":0,"src_end":9255,"src_start":9141},{"artifact":0,"gen_end":52727,"gen_start":49684,"node":44,"role":"declaration","source":0,"src_end":9459,"src_start":9257},{"artifact":0,"gen_end":55773,"gen_start":52727,"node":45,"role":"declaration","source":0,"src_end":9666,"src_start":9461},{"artifact":0,"gen_end":55851,"gen_start":55773,"node":46,"role":"declaration","source":0,"src_end":9753,"src_start":9668},{"artifact":0,"gen_end":55932,"gen_start":55851,"node":47,"role":"declaration","source":0,"src_end":9876,"src_start":9755},{"artifact":0,"gen_end":58988,"gen_start":55932,"node":48,"role":"declaration","source":0,"src_end":10088,"src_start":9878},{"artifact":0,"gen_end":59482,"gen_start":58988,"node":49,"role":"declaration","source":0,"src_end":10501,"src_start":10090},{"artifact":0,"gen_end":59569,"gen_start":59482,"node":50,"role":"declaration","source":0,"src_end":10659,"src_start":10503},{"artifact":0,"gen_end":59659,"gen_start":59569,"node":51,"role":"declaration","source":0,"src_end":10786,"src_start":10661},{"artifact":0,"gen_end":62697,"gen_start":59659,"node":52,"role":"declaration","source":0,"src_end":10985,"src_start":10788},{"artifact":0,"gen_end":62856,"gen_start":62697,"node":53,"role":"declaration","source":0,"src_end":11166,"src_start":10987},{"artifact":0,"gen_end":62962,"gen_start":62856,"node":54,"role":"declaration","source":0,"src_end":11313,"src_start":11168},{"artifact":0,"gen_end":66038,"gen_start":62962,"node":55,"role":"declaration","source":0,"src_end":11547,"src_start":11315},{"artifact":0,"gen_end":66349,"gen_start":66038,"node":56,"role":"declaration","source":0,"src_end":11857,"src_start":11549},{"artifact":0,"gen_end":66519,"gen_start":66349,"node":57,"role":"declaration","source":0,"src_end":12172,"src_start":11859},{"artifact":0,"gen_end":66607,"gen_start":66519,"node":58,"role":"declaration","source":0,"src_end":12307,"src_start":12174},{"artifact":0,"gen_end":66792,"gen_start":66607,"node":59,"role":"declaration","source":0,"src_end":12519,"src_start":12309},{"artifact":0,"gen_end":66885,"gen_start":66792,"node":60,"role":"declaration","source":0,"src_end":12664,"src_start":12521},{"artifact":0,"gen_end":66944,"gen_start":66885,"node":61,"role":"declaration","source":0,"src_end":12808,"src_start":12666},{"artifact":0,"gen_end":67040,"gen_start":66944,"node":62,"role":"declaration","source":0,"src_end":12906,"src_start":12810},{"artifact":0,"gen_end":67223,"gen_start":67040,"node":63,"role":"declaration","source":0,"src_end":13228,"src_start":12908},{"artifact":0,"gen_end":67242,"gen_start":67223,"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 293280eff..91fd15ea9 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":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"} +{"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 ec2cede6b..49a924d30 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Pipeline.lean"},{"id":1,"kind":"tex","path":"modules/Models/Pipeline.tex"}],"mappings":[{"artifact":0,"gen_end":492,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":12945,"src_start":0},{"artifact":0,"gen_end":618,"gen_start":492,"node":1,"role":"declaration","source":0,"src_end":394,"src_start":258},{"artifact":0,"gen_end":866,"gen_start":618,"node":2,"role":"declaration","source":0,"src_end":673,"src_start":396},{"artifact":0,"gen_end":1043,"gen_start":866,"node":3,"role":"declaration","source":0,"src_end":985,"src_start":675},{"artifact":0,"gen_end":1437,"gen_start":1043,"node":4,"role":"declaration","source":0,"src_end":1718,"src_start":987},{"artifact":0,"gen_end":1680,"gen_start":1437,"node":5,"role":"declaration","source":0,"src_end":2061,"src_start":1720},{"artifact":0,"gen_end":4805,"gen_start":1680,"node":6,"role":"declaration","source":0,"src_end":2302,"src_start":2063},{"artifact":0,"gen_end":5187,"gen_start":4805,"node":7,"role":"declaration","source":0,"src_end":3033,"src_start":2304},{"artifact":0,"gen_end":5395,"gen_start":5187,"node":8,"role":"declaration","source":0,"src_end":3233,"src_start":3035},{"artifact":0,"gen_end":5520,"gen_start":5395,"node":9,"role":"declaration","source":0,"src_end":3436,"src_start":3235},{"artifact":0,"gen_end":5678,"gen_start":5520,"node":10,"role":"declaration","source":0,"src_end":3647,"src_start":3438},{"artifact":0,"gen_end":5847,"gen_start":5678,"node":11,"role":"declaration","source":0,"src_end":3827,"src_start":3649},{"artifact":0,"gen_end":5848,"gen_start":5847,"node":12,"role":"declaration","source":0,"src_end":4052,"src_start":3829},{"artifact":0,"gen_end":6237,"gen_start":5848,"node":13,"role":"declaration","source":0,"src_end":4397,"src_start":4054},{"artifact":0,"gen_end":6618,"gen_start":6237,"node":14,"role":"declaration","source":0,"src_end":5127,"src_start":4399},{"artifact":0,"gen_end":6822,"gen_start":6618,"node":15,"role":"declaration","source":0,"src_end":5324,"src_start":5129},{"artifact":0,"gen_end":6975,"gen_start":6822,"node":16,"role":"declaration","source":0,"src_end":5525,"src_start":5326},{"artifact":0,"gen_end":7086,"gen_start":6975,"node":17,"role":"declaration","source":0,"src_end":5648,"src_start":5527},{"artifact":0,"gen_end":7087,"gen_start":7086,"node":18,"role":"declaration","source":0,"src_end":5791,"src_start":5650},{"artifact":0,"gen_end":7198,"gen_start":7087,"node":19,"role":"declaration","source":0,"src_end":5975,"src_start":5793},{"artifact":0,"gen_end":7531,"gen_start":7198,"node":20,"role":"declaration","source":0,"src_end":6710,"src_start":5977},{"artifact":0,"gen_end":7698,"gen_start":7531,"node":21,"role":"declaration","source":0,"src_end":6882,"src_start":6712},{"artifact":0,"gen_end":7815,"gen_start":7698,"node":22,"role":"declaration","source":0,"src_end":7034,"src_start":6884},{"artifact":0,"gen_end":8000,"gen_start":7815,"node":23,"role":"declaration","source":0,"src_end":7226,"src_start":7036},{"artifact":0,"gen_end":8001,"gen_start":8000,"node":24,"role":"declaration","source":0,"src_end":7379,"src_start":7228},{"artifact":0,"gen_end":8166,"gen_start":8001,"node":25,"role":"declaration","source":0,"src_end":7642,"src_start":7381},{"artifact":0,"gen_end":8503,"gen_start":8166,"node":26,"role":"declaration","source":0,"src_end":8402,"src_start":7644},{"artifact":0,"gen_end":8675,"gen_start":8503,"node":27,"role":"declaration","source":0,"src_end":8592,"src_start":8404},{"artifact":0,"gen_end":8803,"gen_start":8675,"node":28,"role":"declaration","source":0,"src_end":8759,"src_start":8594},{"artifact":0,"gen_end":9011,"gen_start":8803,"node":29,"role":"declaration","source":0,"src_end":8974,"src_start":8761},{"artifact":0,"gen_end":9012,"gen_start":9011,"node":30,"role":"declaration","source":0,"src_end":9143,"src_start":8976},{"artifact":0,"gen_end":9217,"gen_start":9012,"node":31,"role":"declaration","source":0,"src_end":9385,"src_start":9145},{"artifact":0,"gen_end":9450,"gen_start":9217,"node":32,"role":"declaration","source":0,"src_end":9705,"src_start":9387},{"artifact":0,"gen_end":9613,"gen_start":9450,"node":33,"role":"declaration","source":0,"src_end":9866,"src_start":9707},{"artifact":0,"gen_end":9768,"gen_start":9613,"node":34,"role":"declaration","source":0,"src_end":10004,"src_start":9868},{"artifact":0,"gen_end":9878,"gen_start":9768,"node":35,"role":"declaration","source":0,"src_end":10126,"src_start":10006},{"artifact":0,"gen_end":9879,"gen_start":9878,"node":36,"role":"declaration","source":0,"src_end":10269,"src_start":10128},{"artifact":0,"gen_end":10070,"gen_start":9879,"node":37,"role":"declaration","source":0,"src_end":10578,"src_start":10271},{"artifact":0,"gen_end":10405,"gen_start":10070,"node":38,"role":"declaration","source":0,"src_end":11336,"src_start":10580},{"artifact":0,"gen_end":10573,"gen_start":10405,"node":39,"role":"declaration","source":0,"src_end":11522,"src_start":11338},{"artifact":0,"gen_end":10684,"gen_start":10573,"node":40,"role":"declaration","source":0,"src_end":11685,"src_start":11524},{"artifact":0,"gen_end":10808,"gen_start":10684,"node":41,"role":"declaration","source":0,"src_end":11817,"src_start":11687},{"artifact":0,"gen_end":10935,"gen_start":10808,"node":42,"role":"declaration","source":0,"src_end":11974,"src_start":11819},{"artifact":0,"gen_end":14023,"gen_start":10935,"node":43,"role":"declaration","source":0,"src_end":12235,"src_start":11976},{"artifact":0,"gen_end":14209,"gen_start":14023,"node":44,"role":"declaration","source":0,"src_end":12562,"src_start":12237},{"artifact":0,"gen_end":15333,"gen_start":14209,"node":45,"role":"declaration","source":0,"src_end":12809,"src_start":12564},{"artifact":0,"gen_end":15474,"gen_start":15333,"node":46,"role":"declaration","source":0,"src_end":12909,"src_start":12811},{"artifact":0,"gen_end":15495,"gen_start":15474,"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 e81854a3d..1c8f7cf4a 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":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"} +{"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 c215372ca..e4245cb85 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Recognizer.lean"},{"id":1,"kind":"tex","path":"modules/Models/Recognizer.tex"}],"mappings":[{"artifact":0,"gen_end":377,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8290,"src_start":0},{"artifact":0,"gen_end":2566,"gen_start":377,"node":1,"role":"declaration","source":0,"src_end":394,"src_start":169},{"artifact":0,"gen_end":3193,"gen_start":2566,"node":2,"role":"declaration","source":0,"src_end":609,"src_start":396},{"artifact":0,"gen_end":5967,"gen_start":3193,"node":3,"role":"declaration","source":0,"src_end":838,"src_start":611},{"artifact":0,"gen_end":6612,"gen_start":5967,"node":4,"role":"declaration","source":0,"src_end":1051,"src_start":840},{"artifact":0,"gen_end":7222,"gen_start":6612,"node":5,"role":"declaration","source":0,"src_end":1293,"src_start":1053},{"artifact":0,"gen_end":7442,"gen_start":7222,"node":6,"role":"declaration","source":0,"src_end":1462,"src_start":1295},{"artifact":0,"gen_end":7580,"gen_start":7442,"node":7,"role":"declaration","source":0,"src_end":1607,"src_start":1464},{"artifact":0,"gen_end":7722,"gen_start":7580,"node":8,"role":"declaration","source":0,"src_end":1778,"src_start":1609},{"artifact":0,"gen_end":10843,"gen_start":7722,"node":9,"role":"declaration","source":0,"src_end":2049,"src_start":1780},{"artifact":0,"gen_end":13967,"gen_start":10843,"node":10,"role":"declaration","source":0,"src_end":2323,"src_start":2051},{"artifact":0,"gen_end":14351,"gen_start":13967,"node":11,"role":"declaration","source":0,"src_end":2667,"src_start":2325},{"artifact":0,"gen_end":14531,"gen_start":14351,"node":12,"role":"declaration","source":0,"src_end":2872,"src_start":2669},{"artifact":0,"gen_end":18440,"gen_start":14531,"node":13,"role":"declaration","source":0,"src_end":3471,"src_start":2874},{"artifact":0,"gen_end":18790,"gen_start":18440,"node":14,"role":"declaration","source":0,"src_end":4240,"src_start":3473},{"artifact":0,"gen_end":19129,"gen_start":18790,"node":15,"role":"declaration","source":0,"src_end":5002,"src_start":4242},{"artifact":0,"gen_end":20581,"gen_start":19129,"node":16,"role":"declaration","source":0,"src_end":6574,"src_start":5004},{"artifact":0,"gen_end":20689,"gen_start":20581,"node":17,"role":"declaration","source":0,"src_end":6723,"src_start":6576},{"artifact":0,"gen_end":23771,"gen_start":20689,"node":18,"role":"declaration","source":0,"src_end":6963,"src_start":6725},{"artifact":0,"gen_end":24109,"gen_start":23771,"node":19,"role":"declaration","source":0,"src_end":7315,"src_start":6965},{"artifact":0,"gen_end":24655,"gen_start":24109,"node":20,"role":"declaration","source":0,"src_end":7800,"src_start":7317},{"artifact":0,"gen_end":24766,"gen_start":24655,"node":21,"role":"declaration","source":0,"src_end":7961,"src_start":7802},{"artifact":0,"gen_end":24880,"gen_start":24766,"node":22,"role":"declaration","source":0,"src_end":8086,"src_start":7963},{"artifact":0,"gen_end":25009,"gen_start":24880,"node":23,"role":"declaration","source":0,"src_end":8254,"src_start":8088},{"artifact":0,"gen_end":25032,"gen_start":25009,"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 d9e70f57c..abfd77ec9 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Session.lean"},{"id":1,"kind":"tex","path":"modules/Models/Session.tex"}],"mappings":[{"artifact":0,"gen_end":305,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3686,"src_start":0},{"artifact":0,"gen_end":363,"gen_start":305,"node":1,"role":"declaration","source":0,"src_end":273,"src_start":142},{"artifact":0,"gen_end":462,"gen_start":363,"node":2,"role":"declaration","source":0,"src_end":390,"src_start":275},{"artifact":0,"gen_end":564,"gen_start":462,"node":3,"role":"declaration","source":0,"src_end":533,"src_start":392},{"artifact":0,"gen_end":3672,"gen_start":564,"node":4,"role":"declaration","source":0,"src_end":797,"src_start":535},{"artifact":0,"gen_end":3763,"gen_start":3672,"node":5,"role":"declaration","source":0,"src_end":916,"src_start":799},{"artifact":0,"gen_end":3857,"gen_start":3763,"node":6,"role":"declaration","source":0,"src_end":1061,"src_start":918},{"artifact":0,"gen_end":6923,"gen_start":3857,"node":7,"role":"declaration","source":0,"src_end":1288,"src_start":1063},{"artifact":0,"gen_end":7098,"gen_start":6923,"node":8,"role":"declaration","source":0,"src_end":1496,"src_start":1290},{"artifact":0,"gen_end":7445,"gen_start":7098,"node":9,"role":"declaration","source":0,"src_end":1950,"src_start":1498},{"artifact":0,"gen_end":7936,"gen_start":7445,"node":10,"role":"declaration","source":0,"src_end":2399,"src_start":1952},{"artifact":0,"gen_end":8015,"gen_start":7936,"node":11,"role":"declaration","source":0,"src_end":2518,"src_start":2401},{"artifact":0,"gen_end":11146,"gen_start":8015,"node":12,"role":"declaration","source":0,"src_end":2821,"src_start":2520},{"artifact":0,"gen_end":14340,"gen_start":11146,"node":13,"role":"declaration","source":0,"src_end":3184,"src_start":2823},{"artifact":0,"gen_end":14941,"gen_start":14340,"node":14,"role":"declaration","source":0,"src_end":3501,"src_start":3186},{"artifact":0,"gen_end":15219,"gen_start":14941,"node":15,"role":"declaration","source":0,"src_end":3650,"src_start":3503},{"artifact":0,"gen_end":15239,"gen_start":15219,"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 17742f1ec..cdd7c73ac 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":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"} +{"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":"6e8361ce3941a9dbed4a89b310886cf88542a2f193c9aecde65f591c7dc8c513","source_id":"ea98bac4249a73bab2141a18f38b8488fc91b3bb31188e40bff9c43a0197c9f9","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 623dc95fa..4eabae04f 100644 --- a/examples/models/expected/build/modules/Models/Flows.lean +++ b/examples/models/expected/build/modules/Models/Flows.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Models +public import LexLeanRuntime.Laws public import Models.Ledger set_option autoImplicit false set_option maxRecDepth 100000 @@ -21,7 +22,9 @@ public theorem FlowContract.invariant_sound : LexLeanModels.Sound1 ((Models.Ledg public theorem flow_entry (s : Nat) (_x : Nat) : (Models.Ledger.Capped (s) -> Models.Ledger.Capped (s)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def FlowModel.initial : Nat := Models.Flows.ClampGuess.initial @@ -37,13 +40,17 @@ public theorem PairGuessContract.precondition_sound : LexLeanModels.Sound1 ((Mod public theorem pair_entry_left (x : Nat) : (Models.Ledger.Within (x) -> Models.Ledger.Within (x)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem pair_entry_right (x : Nat) : (Models.Ledger.Within (x) -> Models.Ledger.Within (x)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def PairGuessModel (__input : Nat) : Except ((Prod Bool Bool)) ((Prod (Nat) (Nat))) := Models.Flows.GuessTwice (__input) @@ -59,7 +66,9 @@ public theorem pair_entry_right (x : Nat) : (Models.Ledger.Within (x) -> Models. public theorem few_check_sound (xs : List (Nat)) : ((fewCheck (xs) = true) -> Few (xs)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Few, fewCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Few, fewCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem SpillStreamContract.precondition_sound : LexLeanModels.Sound1 ((Models.Flows.fewCheck)) ((Models.Flows.Few)) := Models.Flows.few_check_sound @@ -75,7 +84,9 @@ public theorem SpillStreamContract.precondition_sound : LexLeanModels.Sound1 ((M public theorem twin_capped_check_sound (s : (Prod (Nat) (Nat))) : ((twinCappedCheck (s) = true) -> TwinCapped (s)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, Models.Ledger.cappedCheck, TwinCapped, twinCappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, Models.Ledger.cappedCheck, TwinCapped, twinCappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, reducible] public def TwinSmall (_s : (Prod (Nat) (Nat))) (x : Nat) : Prop := (x <= 10) @@ -85,7 +96,9 @@ public theorem twin_capped_check_sound (s : (Prod (Nat) (Nat))) : ((twinCappedCh public theorem twin_small_check_sound (s : (Prod (Nat) (Nat))) (x : Nat) : ((twinSmallCheck (s) (x) = true) -> TwinSmall (s) (x)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [TwinSmall, twinSmallCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [TwinSmall, twinSmallCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem TwinContract.invariant_sound : LexLeanModels.Sound1 ((Models.Flows.twinCappedCheck)) ((Models.Flows.TwinCapped)) := Models.Flows.twin_capped_check_sound @@ -97,13 +110,17 @@ public theorem TwinContract.precondition_sound : LexLeanModels.Sound2 ((Models.F public theorem twin_entry_left (s : (Prod (Nat) (Nat))) (x : Nat) : (TwinCapped (s) -> (TwinSmall (s) (x) -> Models.Ledger.Capped ((s).1))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem twin_entry_right (s : (Prod (Nat) (Nat))) (x : Nat) : (TwinCapped (s) -> (TwinSmall (s) (x) -> Models.Ledger.Small ((s).2) (x))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Small, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Small, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def TwinModel.initial : (Prod (Nat) (Nat)) := Models.Flows.ClampTally.initial @@ -116,7 +133,9 @@ public theorem twin_entry_right (s : (Prod (Nat) (Nat))) (x : Nat) : (TwinCapped public theorem both_capped_check_sound (s : (Prod (Nat) (Nat))) : ((bothCappedCheck (s) = true) -> BothCapped (s)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [BothCapped, Models.Ledger.Capped, bothCappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [BothCapped, Models.Ledger.Capped, bothCappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem PairClampContract.invariant_sound : LexLeanModels.Sound1 ((Models.Flows.bothCappedCheck)) ((Models.Flows.BothCapped)) := Models.Flows.both_capped_check_sound @@ -127,13 +146,17 @@ public theorem PairClampContract.invariant_sound : LexLeanModels.Sound1 ((Models public theorem both_entry_left (s : (Prod (Nat) (Nat))) (_x : (Prod (Nat) (Nat))) : (BothCapped (s) -> Models.Ledger.Capped ((s).1)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [BothCapped, Models.Ledger.Capped, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [BothCapped, Models.Ledger.Capped, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem both_entry_right (s : (Prod (Nat) (Nat))) (_x : (Prod (Nat) (Nat))) : (BothCapped (s) -> Models.Ledger.Capped ((s).2)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [BothCapped, Models.Ledger.Capped, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [BothCapped, Models.Ledger.Capped, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def PairClampModel.initial : (Prod (Nat) (Nat)) := Models.Flows.ClampBoth.initial @@ -148,13 +171,17 @@ public theorem BranchContract.precondition_sound : LexLeanModels.Sound2 ((Models public theorem branch_entry_then (s : (Prod (Nat) (Nat))) (x : Nat) : (TwinCapped (s) -> (TwinSmall (s) (x) -> (((Nat.ble (x) (5)) = true) -> Models.Ledger.Capped ((s).1)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem branch_entry_else (s : (Prod (Nat) (Nat))) (x : Nat) : (TwinCapped (s) -> (TwinSmall (s) (x) -> (((Nat.ble (x) (5)) = false) -> Models.Ledger.Small ((s).2) (x)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Small, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Small, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def BranchModel.initial : (Prod (Nat) (Nat)) := Models.Flows.ClampOrTally.initial @@ -166,7 +193,9 @@ public theorem ChainContract.precondition_sound : LexLeanModels.Sound2 ((Models. public theorem spill_tally (s : (Prod (Nat) (Nat))) (x : Nat) : (Models.Ledger.Capped ((s).1) -> (Models.Ledger.Small ((s).1) (x) -> Models.Ledger.Small ((s).2) ((Models.Ledger.SpillModel ((s).1) (x)).2))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, Models.Ledger.Small, Models.Ledger.Spill, Models.Ledger.SpillModel, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, Models.Ledger.Small, Models.Ledger.Spill, Models.Ledger.SpillModel, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def SpillTally.initial : (Prod (Nat) (Nat)) := (0, 0) @@ -175,13 +204,17 @@ public theorem spill_tally (s : (Prod (Nat) (Nat))) (x : Nat) : (Models.Ledger.C public theorem chain_entry_invariant (s : (Prod (Nat) (Nat))) (x : Nat) : (TwinCapped (s) -> (TwinSmall (s) (x) -> Models.Ledger.Capped ((s).1))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Capped, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem chain_entry_precondition (s : (Prod (Nat) (Nat))) (x : Nat) : (TwinCapped (s) -> (TwinSmall (s) (x) -> Models.Ledger.Small ((s).1) (x))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Small, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Ledger.Small, TwinCapped, TwinSmall, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def ChainModel.initial : (Prod (Nat) (Nat)) := Models.Flows.SpillTally.initial diff --git a/examples/models/expected/build/modules/Models/Ledger.lean b/examples/models/expected/build/modules/Models/Ledger.lean index c9716e321..0512cef1a 100644 --- a/examples/models/expected/build/modules/Models/Ledger.lean +++ b/examples/models/expected/build/modules/Models/Ledger.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Models +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -16,13 +17,17 @@ namespace Models.Ledger public theorem capped_check_sound (s : Nat) : ((cappedCheck (s) = true) -> Capped (s)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Capped, cappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Capped, cappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem capped_check_complete (s : Nat) : (Capped (s) -> (cappedCheck (s) = true)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Capped, cappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Capped, cappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, reducible] public def Small (_s : Nat) (x : Nat) : Prop := (x <= 10) @@ -32,7 +37,9 @@ public theorem capped_check_complete (s : Nat) : (Capped (s) -> (cappedCheck (s) public theorem small_check_sound (s : Nat) (x : Nat) : ((smallCheck (s) (x) = true) -> Small (s) (x)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Small, smallCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Small, smallCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, reducible] public def Grows (s : Nat) (_x : Nat) (t : Nat) (_y : Nat) : Prop := (s <= t) @@ -42,13 +49,17 @@ public theorem small_check_sound (s : Nat) (x : Nat) : ((smallCheck (s) (x) = tr public theorem grows_check_sound (s : Nat) (x : Nat) (t : Nat) (y : Nat) : ((growsCheck (s) (x) (t) (y) = true) -> Grows (s) (x) (t) (y)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Grows, growsCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Grows, growsCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem grows_check_complete (s : Nat) (x : Nat) (t : Nat) (y : Nat) : (Grows (s) (x) (t) (y) -> (growsCheck (s) (x) (t) (y) = true)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Grows, growsCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Grows, growsCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem LedgerContract.invariant_sound : LexLeanModels.Sound1 ((Models.Ledger.cappedCheck)) ((Models.Ledger.Capped)) := Models.Ledger.capped_check_sound @@ -65,13 +76,17 @@ public theorem LedgerContract.precondition_sound : LexLeanModels.Sound2 ((Models public theorem spill_grows (s : Nat) (x : Nat) : (Capped (s) -> (Small (s) (x) -> Grows (s) (x) ((Spill (s) (x)).1) ((Spill (s) (x)).2))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Capped, Grows, Small, Spill, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Capped, Grows, Small, Spill, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem spill_reference (s : Nat) (x : Nat) : (Capped (s) -> (Small (s) (x) -> (Spill (s) (x) = spillRef (s) (x)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Spill, spillRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Spill, spillRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem SpillEvidence.spill_grows : LexLeanModels.SatisfiesStep ((Models.Ledger.Capped)) ((Models.Ledger.Small)) ((Models.Ledger.Grows)) ((Models.Ledger.Spill)) := Models.Ledger.spill_grows @@ -95,13 +110,17 @@ public theorem TallyContract.precondition_sound : LexLeanModels.Sound2 ((Models. public theorem tally_grows (s : Nat) (x : Nat) : (Small (s) (x) -> Grows (s) (x) ((Tally (s) (x)).1) ((Tally (s) (x)).2)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Grows, Small, Tally, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Grows, Small, Tally, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem tally_reference (s : Nat) (x : Nat) : (Small (s) (x) -> (Tally (s) (x) = tallyRef (s) (x))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Tally, tallyRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Tally, tallyRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem TallyEvidence.tally_reference : LexLeanModels.EquivalentStepNoInvariant ((Models.Ledger.Small)) ((Models.Ledger.Tally)) ((Models.Ledger.tallyRef)) := Models.Ledger.tally_reference @@ -125,19 +144,25 @@ public theorem clamp_initial : Capped (Clamp.initial) := by public theorem clamp_preserves (s : Nat) (x : Nat) : (Capped (s) -> Capped ((Clamp (s) (x)).1)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Capped, Clamp, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Capped, Clamp, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem clamp_grows (s : Nat) (x : Nat) : (Capped (s) -> Grows (s) (x) ((Clamp (s) (x)).1) ((Clamp (s) (x)).2)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Capped, Clamp, Grows, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Capped, Clamp, Grows, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem clamp_reference (s : Nat) (x : Nat) : (Capped (s) -> (Clamp (s) (x) = clampRef (s) (x))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Clamp, clampRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Clamp, clampRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem ClampEvidence.clamp_reference : LexLeanModels.EquivalentStepNoPrecondition ((Models.Ledger.Capped)) ((Models.Ledger.Clamp)) ((Models.Ledger.clampRef)) := Models.Ledger.clamp_reference @@ -153,13 +178,17 @@ public theorem FreeContract.postcondition_sound : LexLeanModels.Sound4 ((Models. public theorem tally_free_grows (s : Nat) (x : Nat) : Grows (s) (x) ((Tally (s) (x)).1) ((Tally (s) (x)).2) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Grows, Tally, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Grows, Tally, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem tally_free_reference (s : Nat) (x : Nat) : (Tally (s) (x) = tallyRef (s) (x)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Tally, tallyRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Tally, tallyRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem FreeEvidence.tally_free_reference : LexLeanModels.EquivalentStepTotal ((Models.Ledger.Tally)) ((Models.Ledger.tallyRef)) := Models.Ledger.tally_free_reference @@ -175,13 +204,17 @@ public theorem FreeEvidence.tally_free_grows : LexLeanModels.SatisfiesStepTotal public theorem within_check_sound (x : Nat) : ((withinCheck (x) = true) -> Within (x)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Within, withinCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Within, withinCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem within_check_complete (x : Nat) : (Within (x) -> (withinCheck (x) = true)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Within, withinCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Within, withinCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, reducible] public def Below (x : Nat) (y : Nat) : Prop := (y <= x) @@ -191,7 +224,9 @@ public theorem within_check_complete (x : Nat) : (Within (x) -> (withinCheck (x) public theorem below_check_sound (x : Nat) (y : Nat) : ((belowCheck (x) (y) = true) -> Below (x) (y)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Below, belowCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Below, belowCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem GuessContract.postcondition_sound : LexLeanModels.Sound2 ((Models.Ledger.belowCheck)) ((Models.Ledger.Below)) := Models.Ledger.below_check_sound @@ -205,7 +240,9 @@ public theorem GuessContract.precondition_complete : LexLeanModels.Complete1 ((M public theorem guess_reference (x : Nat) : (Within (x) -> (Guess (x) = guessRef (x))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Guess, guessRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Guess, guessRef, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def guessSamples : List ((Prod (Nat) (Nat))) := ((0, 0) :: ((1, 0) :: ((2, 1) :: ((5, 4) :: ((9, 9) :: ([] : List ((Prod (Nat) (Nat))))))))) @@ -215,7 +252,9 @@ public theorem guess_reference (x : Nat) : (Within (x) -> (Guess (x) = guessRef public theorem same_nat_sound (expected : Nat) (observed : Nat) : ((sameNat (expected) (observed) = true) -> (expected = observed)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [sameNat, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [sameNat, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem guess_agreement : (((LexLeanRuntime.length (guessSamples) : Nat) = 5) /\ ((LexLeanCollections.listFold ((fun (count : Nat) («example» : (Prod (Nat) (Nat))) => (if sameNat (Guess ((«example»).1)) ((«example»).2) then (count + 1) else count))) (0) (guessSamples) : Nat) = 4)) := by diff --git a/examples/models/expected/build/modules/Models/Pipeline.lean b/examples/models/expected/build/modules/Models/Pipeline.lean index 529fa2887..17cf90b9c 100644 --- a/examples/models/expected/build/modules/Models/Pipeline.lean +++ b/examples/models/expected/build/modules/Models/Pipeline.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Models +public import LexLeanRuntime.Laws public import Models.Glyphs public import Models.Policy public import Models.Recognizer @@ -45,7 +46,9 @@ public theorem triage_actionable (presentation : Models.Triage.Presentation) : ( public theorem pipeline_entry (presentation : Models.Triage.Presentation) : (Models.Triage.Symptomatic (presentation) -> Models.Triage.Symptomatic (presentation)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Models.Triage.Symptomatic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Models.Triage.Symptomatic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem pipeline_responds (presentation : Models.Triage.Presentation) : (Models.Triage.Symptomatic (presentation) -> Responds (presentation) (TriagePipeline (presentation))) := by @@ -220,7 +223,9 @@ public theorem RouteEvidence.route_bounded : LexLeanModels.SatisfiesTotal ((Mode public theorem short_stream_check_sound (costs : List (Nat)) : ((shortStreamCheck (costs) = true) -> ShortStream (costs)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [ShortStream, shortStreamCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [ShortStream, shortStreamCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem StreamContract.precondition_sound : LexLeanModels.Sound1 ((Models.Pipeline.shortStreamCheck)) ((Models.Pipeline.ShortStream)) := Models.Pipeline.short_stream_check_sound diff --git a/examples/models/expected/build/modules/Models/Recognizer.lean b/examples/models/expected/build/modules/Models/Recognizer.lean index ba4d45e9e..928d2f7e8 100644 --- a/examples/models/expected/build/modules/Models/Recognizer.lean +++ b/examples/models/expected/build/modules/Models/Recognizer.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Models +public import LexLeanRuntime.Laws public import Models.Glyphs set_option autoImplicit false set_option maxRecDepth 100000 @@ -41,13 +42,17 @@ public theorem banner.decoded : banner = banner.bytes := rfl public theorem recognizes_check_sound (glyph : Models.Glyphs.Glyph) (digit : Nat) : ((recognizesCheck (glyph) (digit) = true) -> Recognizes (glyph) (digit)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Recognizes, recognizesCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Recognizes, recognizesCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem recognizes_check_complete (glyph : Models.Glyphs.Glyph) (digit : Nat) : (Recognizes (glyph) (digit) -> (recognizesCheck (glyph) (digit) = true)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Recognizes, recognizesCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Recognizes, recognizesCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem DigitContract.postcondition_sound : LexLeanModels.Sound2 ((Models.Recognizer.recognizesCheck)) ((Models.Recognizer.Recognizes)) := Models.Recognizer.recognizes_check_sound @@ -117,7 +122,9 @@ public theorem digit_net_correct (glyph : Models.Glyphs.Glyph) : Recognizes (gly public theorem same_digit_sound (expected : Nat) (observed : Nat) : ((sameDigit (expected) (observed) = true) -> (expected = observed)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [sameDigit, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [sameDigit, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem labeled_agreement : (((LexLeanRuntime.length (labeledGlyphs) : Nat) = 40) /\ ((LexLeanCollections.listFold ((fun (count : Nat) («example» : (Prod (Models.Glyphs.Glyph) (Nat))) => (if sameDigit (DigitNet ((«example»).1)) ((«example»).2) then (count + 1) else count))) (0) (labeledGlyphs) : Nat) = 37)) := by diff --git a/examples/models/expected/build/modules/Models/Session.lean b/examples/models/expected/build/modules/Models/Session.lean index 6ae4e4d39..4e50cd2b3 100644 --- a/examples/models/expected/build/modules/Models/Session.lean +++ b/examples/models/expected/build/modules/Models/Session.lean @@ -2,6 +2,7 @@ module public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Models +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -19,7 +20,9 @@ public structure Window where public theorem affordable_check_sound (window : Window) (cost : Nat) : ((affordableCheck (window) (cost) = true) -> Affordable (window) (cost)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Affordable, affordableCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Affordable, affordableCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, reducible] public def Bounded (window : Window) : Prop := ((window).used <= 64) @@ -29,7 +32,9 @@ public theorem affordable_check_sound (window : Window) (cost : Nat) : ((afforda public theorem bounded_check_sound (window : Window) : ((boundedCheck (window) = true) -> Bounded (window)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Bounded, boundedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Bounded, boundedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, reducible] public def Conserves (window : Window) (cost : Nat) (updated : Window) (overflow : Nat) : Prop := (((updated).used + overflow) = ((window).used + cost)) @@ -46,13 +51,17 @@ public theorem session_initial : Bounded (SessionStep.initial) := by public theorem session_preserves (window : Window) (cost : Nat) : (Bounded (window) -> (Affordable (window) (cost) -> Bounded ((SessionStep (window) (cost)).1))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Affordable, Bounded, SessionStep, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Affordable, Bounded, SessionStep, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem session_conserves (window : Window) (cost : Nat) : (Bounded (window) -> (Affordable (window) (cost) -> Conserves (window) (cost) ((SessionStep (window) (cost)).1) ((SessionStep (window) (cost)).2))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Affordable, Bounded, Conserves, SessionStep, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Affordable, Bounded, Conserves, SessionStep, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem SessionEvidence.session_initial : LexLeanModels.Initial ((Models.Session.Bounded)) (Models.Session.SessionStep.initial) := Models.Session.session_initial 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 deleted file mode 100644 index b912222f0..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.process.json deleted file mode 100644 index b54456777..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.process.json deleted file mode 100644 index e94510f96..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.process.json deleted file mode 100644 index 03aa29efd..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.process.json deleted file mode 100644 index f7d5ec935..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.process.json deleted file mode 100644 index 52a474721..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.process.json deleted file mode 100644 index 1172b9095..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.process.json deleted file mode 100644 index 056bb9528..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.process.json deleted file mode 100644 index 8ea73d42b..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.process.json deleted file mode 100644 index 7265aa4b5..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.process.json deleted file mode 100644 index 6cc56e49c..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.process.json deleted file mode 100644 index ff013d582..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Collections.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Collections.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Collections.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..799a1bfdf --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Laws.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Laws.lean new file mode 100644 index 000000000..3d95b8987 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Laws.lean @@ -0,0 +1,82 @@ +module +import LexLeanRuntime.Laws +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1.else_eq +#print axioms LexLeanCollections.lessThan.eq_1 +#print axioms LexLeanCollections.listFold.eq_1 +#print axioms LexLeanLaws.append_list +#print axioms LexLeanLaws.length_list +#print axioms LexLeanLaws.lessThan_int +#print axioms LexLeanLaws.lessThan_int16 +#print axioms LexLeanLaws.lessThan_int32 +#print axioms LexLeanLaws.lessThan_int64 +#print axioms LexLeanLaws.lessThan_int8 +#print axioms LexLeanLaws.lessThan_nat +#print axioms LexLeanLaws.lessThan_uint16 +#print axioms LexLeanLaws.lessThan_uint32 +#print axioms LexLeanLaws.lessThan_uint64 +#print axioms LexLeanLaws.lessThan_uint8 +#print axioms LexLeanLaws.listFold_add_int +#print axioms LexLeanLaws.listFold_add_int_self +#print axioms LexLeanLaws.listFold_add_nat +#print axioms LexLeanLaws.listFold_add_nat_self +#print axioms LexLeanLaws.listFold_append +#print axioms LexLeanLaws.listFold_cons +#print axioms LexLeanLaws.listFold_extend +#print axioms LexLeanLaws.listFold_fusion +#print axioms LexLeanLaws.listFold_nil +#print axioms LexLeanLaws.listFold_pair +#print axioms LexLeanLaws.listFold_prepend +#print axioms LexLeanLaws.listFold_sub_int +#print axioms LexLeanLaws.listFold_sub_int_self +#print axioms LexLeanLaws.mapEntries_self +#print axioms LexLeanLaws.mapFold_listFold +#print axioms LexLeanLaws.mapSize_length +#print axioms LexLeanLaws.quotient_int +#print axioms LexLeanLaws.quotient_nat +#print axioms LexLeanLaws.remainder_int +#print axioms LexLeanLaws.remainder_nat +#print axioms LexLeanLaws.setElements_self +#print axioms LexLeanLaws.setFold_listFold +#print axioms LexLeanLaws.setSize_length +#print axioms LexLeanLaws.sumInt +#print axioms LexLeanLaws.sumInt._f +#print axioms LexLeanLaws.sumInt._sunfold +#print axioms LexLeanLaws.sumInt._unsafe_rec +#print axioms LexLeanLaws.sumInt.eq_1 +#print axioms LexLeanLaws.sumInt.eq_2 +#print axioms LexLeanLaws.sumInt.eq_def +#print axioms LexLeanLaws.sumInt_add +#print axioms LexLeanLaws.sumInt_append +#print axioms LexLeanLaws.sumInt_cons +#print axioms LexLeanLaws.sumInt_const +#print axioms LexLeanLaws.sumInt_mul +#print axioms LexLeanLaws.sumInt_mul_right +#print axioms LexLeanLaws.sumInt_mul_self +#print axioms LexLeanLaws.sumInt_neg +#print axioms LexLeanLaws.sumInt_neg_self +#print axioms LexLeanLaws.sumInt_nil +#print axioms LexLeanLaws.sumInt_perm +#print axioms LexLeanLaws.sumInt_reverse +#print axioms LexLeanLaws.sumInt_sub +#print axioms LexLeanLaws.sumNat +#print axioms LexLeanLaws.sumNat._f +#print axioms LexLeanLaws.sumNat._sunfold +#print axioms LexLeanLaws.sumNat._unsafe_rec +#print axioms LexLeanLaws.sumNat.eq_1 +#print axioms LexLeanLaws.sumNat.eq_2 +#print axioms LexLeanLaws.sumNat.eq_def +#print axioms LexLeanLaws.sumNat.match_1 +#print axioms LexLeanLaws.sumNat_add +#print axioms LexLeanLaws.sumNat_append +#print axioms LexLeanLaws.sumNat_cons +#print axioms LexLeanLaws.sumNat_const +#print axioms LexLeanLaws.sumNat_mul +#print axioms LexLeanLaws.sumNat_mul_right +#print axioms LexLeanLaws.sumNat_mul_self +#print axioms LexLeanLaws.sumNat_nil +#print axioms LexLeanLaws.sumNat_perm +#print axioms LexLeanLaws.sumNat_reverse +#print axioms LexLeanLaws.tdiv_ediv +#print axioms LexLeanLaws.tmod_emod +#print axioms LexLeanRuntime.quotient.eq_1 +#print axioms LexLeanRuntime.remainder.eq_1 diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Laws.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Laws.process.json new file mode 100644 index 000000000..2ac82eb26 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Laws.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext]\n'LexLeanCollections.listFold.eq_1' does not depend on any axioms\n'LexLeanLaws.append_list' does not depend on any axioms\n'LexLeanLaws.length_list' does not depend on any axioms\n'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_nat' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint16' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint32' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint64' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint8' depends on axioms: [propext]\n'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_cons' does not depend on any axioms\n'LexLeanLaws.listFold_extend' depends on axioms: [propext]\n'LexLeanLaws.listFold_fusion' does not depend on any axioms\n'LexLeanLaws.listFold_nil' does not depend on any axioms\n'LexLeanLaws.listFold_pair' does not depend on any axioms\n'LexLeanLaws.listFold_prepend' depends on axioms: [propext]\n'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.mapEntries_self' does not depend on any axioms\n'LexLeanLaws.mapFold_listFold' does not depend on any axioms\n'LexLeanLaws.mapSize_length' does not depend on any axioms\n'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.setElements_self' does not depend on any axioms\n'LexLeanLaws.setFold_listFold' does not depend on any axioms\n'LexLeanLaws.setSize_length' does not depend on any axioms\n'LexLeanLaws.sumInt' does not depend on any axioms\n'LexLeanLaws.sumInt._f' does not depend on any axioms\n'LexLeanLaws.sumInt._sunfold' does not depend on any axioms\n'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_1' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_2' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_def' does not depend on any axioms\n'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_cons' does not depend on any axioms\n'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul' depends on axioms: [propext]\n'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext]\n'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_nil' does not depend on any axioms\n'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat' does not depend on any axioms\n'LexLeanLaws.sumNat._f' does not depend on any axioms\n'LexLeanLaws.sumNat._sunfold' does not depend on any axioms\n'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_1' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_2' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_def' does not depend on any axioms\n'LexLeanLaws.sumNat.match_1' does not depend on any axioms\n'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_cons' does not depend on any axioms\n'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul' does not depend on any axioms\n'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul_self' does not depend on any axioms\n'LexLeanLaws.sumNat_nil' does not depend on any axioms\n'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.quotient.eq_1' does not depend on any axioms\n'LexLeanRuntime.remainder.eq_1' does not depend on any axioms\n","stdout_sha256":"a4ba2d39c9cdfd5e40c41c5ccf4726d937fd192fc042b74bb56cc0651e28919e","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Models.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Models.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Models.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Models.process.json new file mode 100644 index 000000000..34a68dea7 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Models.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Portable.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Portable.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Portable.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..5c471c315 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Flows.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Flows.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Flows.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Flows.process.json new file mode 100644 index 000000000..1ce8067d7 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Flows.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Flows.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Glyphs.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Glyphs.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Glyphs.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Glyphs.process.json new file mode 100644 index 000000000..6e7909181 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Glyphs.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Glyphs.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Ledger.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Ledger.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Ledger.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Ledger.process.json new file mode 100644 index 000000000..162cbb290 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Ledger.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Ledger.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Main.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Main.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Main.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Main.process.json new file mode 100644 index 000000000..ec30926df --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Pipeline.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Pipeline.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Pipeline.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Pipeline.process.json new file mode 100644 index 000000000..707185e78 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Pipeline.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Pipeline.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Policy.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Policy.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Policy.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Policy.process.json new file mode 100644 index 000000000..651502356 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Policy.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Policy.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Recognizer.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Recognizer.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Recognizer.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Recognizer.process.json new file mode 100644 index 000000000..6867118fb --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Recognizer.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Recognizer.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Session.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Session.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Session.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Session.process.json new file mode 100644 index 000000000..b49cb5a32 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Session.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Session.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.lean b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Triage.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Triage.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Triage.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Triage.process.json new file mode 100644 index 000000000..4bdbbf686 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Triage.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.Models.Triage.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6e8361ce3941a9dbed4a89b310886cf8.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 a455ca526..d9ad114a5 100644 --- a/examples/models/expected/verify/audit/output.txt +++ b/examples/models/expected/verify/audit/output.txt @@ -101,6 +101,86 @@ '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 +'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext] +'LexLeanCollections.listFold.eq_1' does not depend on any axioms +'LexLeanLaws.append_list' does not depend on any axioms +'LexLeanLaws.length_list' does not depend on any axioms +'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_nat' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint16' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint32' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint64' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint8' depends on axioms: [propext] +'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_cons' does not depend on any axioms +'LexLeanLaws.listFold_extend' depends on axioms: [propext] +'LexLeanLaws.listFold_fusion' does not depend on any axioms +'LexLeanLaws.listFold_nil' does not depend on any axioms +'LexLeanLaws.listFold_pair' does not depend on any axioms +'LexLeanLaws.listFold_prepend' depends on axioms: [propext] +'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.mapEntries_self' does not depend on any axioms +'LexLeanLaws.mapFold_listFold' does not depend on any axioms +'LexLeanLaws.mapSize_length' does not depend on any axioms +'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.setElements_self' does not depend on any axioms +'LexLeanLaws.setFold_listFold' does not depend on any axioms +'LexLeanLaws.setSize_length' does not depend on any axioms +'LexLeanLaws.sumInt' does not depend on any axioms +'LexLeanLaws.sumInt._f' does not depend on any axioms +'LexLeanLaws.sumInt._sunfold' does not depend on any axioms +'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumInt.eq_1' does not depend on any axioms +'LexLeanLaws.sumInt.eq_2' does not depend on any axioms +'LexLeanLaws.sumInt.eq_def' does not depend on any axioms +'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_cons' does not depend on any axioms +'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul' depends on axioms: [propext] +'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext] +'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_nil' does not depend on any axioms +'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat' does not depend on any axioms +'LexLeanLaws.sumNat._f' does not depend on any axioms +'LexLeanLaws.sumNat._sunfold' does not depend on any axioms +'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumNat.eq_1' does not depend on any axioms +'LexLeanLaws.sumNat.eq_2' does not depend on any axioms +'LexLeanLaws.sumNat.eq_def' does not depend on any axioms +'LexLeanLaws.sumNat.match_1' does not depend on any axioms +'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_cons' does not depend on any axioms +'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul' does not depend on any axioms +'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul_self' does not depend on any axioms +'LexLeanLaws.sumNat_nil' does not depend on any axioms +'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.quotient.eq_1' does not depend on any axioms +'LexLeanRuntime.remainder.eq_1' 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 diff --git a/examples/models/expected/verify/extract/LexLeanExtract.X0f600e9a78a6f4d72a3e289fa7bc71d4.lean b/examples/models/expected/verify/extract/LexLeanExtract.X0f600e9a78a6f4d72a3e289fa7bc71d4.lean deleted file mode 100644 index 52daa892f..000000000 --- a/examples/models/expected/verify/extract/LexLeanExtract.X0f600e9a78a6f4d72a3e289fa7bc71d4.lean +++ /dev/null @@ -1,442 +0,0 @@ -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.X6e8361ce3941a9dbed4a89b310886cf8.lean b/examples/models/expected/verify/extract/LexLeanExtract.X6e8361ce3941a9dbed4a89b310886cf8.lean new file mode 100644 index 000000000..b15cadd72 --- /dev/null +++ b/examples/models/expected/verify/extract/LexLeanExtract.X6e8361ce3941a9dbed4a89b310886cf8.lean @@ -0,0 +1,443 @@ +module +public meta import Lean +import all LexLeanRuntime.Portable +import all LexLeanRuntime.Collections +import all LexLeanRuntime.Models +import all LexLeanRuntime.Laws +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", "LexLeanRuntime.Laws", "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 80127d050..97ac8644f 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.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"} +{"argv":["env","lean","$STAGING/extract/LexLeanExtract.X6e8361ce3941a9dbed4a89b310886cf8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.X6e8361ce3941a9dbed4a89b310886cf8","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 deleted file mode 100644 index e65481ab4..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 09baf8d61..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/Compose/RustStd.lean +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index 9c10bce75..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index ea73ac6e6..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 3af78c8e7..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/Compose/RustStd.lean +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index 10f24df0a..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index e2cfdfada..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 25c1a0cff..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/Compose/RustStd.lean +++ /dev/null @@ -1,31 +0,0 @@ -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 deleted file mode 100644 index b1cf51d86..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 6a3879576..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index a8955ac91..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/Compose/RustStd.lean +++ /dev/null @@ -1,19 +0,0 @@ -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 deleted file mode 100644 index f52d5fc94..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 0a53e39cc..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index f7e8b3b40..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/Compose/RustStd.lean +++ /dev/null @@ -1,19 +0,0 @@ -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 deleted file mode 100644 index e5b882710..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 4aabc7fb4..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index d687dc230..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 2d1149bb8..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 3e9ce2706..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index d37605098..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 7734f86a8..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 55ae58bd9..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index ff8ef2023..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index a5b799271..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 6c6ef4a2a..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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 deleted file mode 100644 index 983e7fa86..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index ad8140e35..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/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.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/C6e8361ce3941a9dbed4a89b310886cf8/R0.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0.lean new file mode 100644 index 000000000..5e44c9553 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R0 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/Compose/RustStd.lean new file mode 100644 index 000000000..708d022eb --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/Compose/RustStd.lean @@ -0,0 +1,28 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Models.Glyphs.Glyph)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.program _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.krate _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.flags (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R0.__enc_0 glyph)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.denote glyph) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.__enc_0 glyph)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 glyph) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.root glyph) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/RustStd.lean new file mode 100644 index 000000000..e82783e7b --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1.lean new file mode 100644 index 000000000..c9ada0ea3 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R1 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/Compose/RustStd.lean new file mode 100644 index 000000000..f0fbdade9 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/Compose/RustStd.lean @@ -0,0 +1,28 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Models.Glyphs.Glyph)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.program _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.krate _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.flags (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R1.__enc_0 glyph)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.denote glyph) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.__enc_0 glyph)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 glyph) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.root glyph) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/RustStd.lean new file mode 100644 index 000000000..846d0bec3 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2.lean new file mode 100644 index 000000000..e5638044a --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R2 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/Compose/RustStd.lean new file mode 100644 index 000000000..aa04d5f8a --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/Compose/RustStd.lean @@ -0,0 +1,31 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Models.Triage.Presentation)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.program _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.krate _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.flags (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.program _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.krate _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.flags (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R2.__enc_0 presentation)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.denote presentation) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.__enc_0 presentation)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 presentation) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.root presentation) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/RustStd.lean new file mode 100644 index 000000000..0d0e82fde --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3.lean new file mode 100644 index 000000000..79f073569 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R3 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/Compose/RustStd.lean new file mode 100644 index 000000000..fbf22bf27 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/Compose/RustStd.lean @@ -0,0 +1,19 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd + +theorem __wt_0 : ∀ (__s : (Models.Session.Window)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.program _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.krate _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.flags (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R3.denote costs) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R3.root costs) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/RustStd.lean new file mode 100644 index 000000000..8bd5e44d2 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4.lean new file mode 100644 index 000000000..52466cf7d --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R4 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/Compose/RustStd.lean new file mode 100644 index 000000000..0b9843349 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/Compose/RustStd.lean @@ -0,0 +1,19 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd + +theorem __wt_0 : ∀ (__s : (Models.Session.Window)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.program _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.krate _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.flags (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R4.__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.denote window cost) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R4.root window cost) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/RustStd.lean new file mode 100644 index 000000000..364ce0ae2 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5.lean new file mode 100644 index 000000000..3713d9822 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R5 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/Compose/RustStd.lean new file mode 100644 index 000000000..c682d0270 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R5.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R5.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/RustStd.lean new file mode 100644 index 000000000..c193448b4 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6.lean new file mode 100644 index 000000000..be4bc426f --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R6 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/Compose/RustStd.lean new file mode 100644 index 000000000..611286801 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R6.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R6.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/RustStd.lean new file mode 100644 index 000000000..68702ef7b --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7.lean new file mode 100644 index 000000000..5e5837016 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R7 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/Compose/RustStd.lean new file mode 100644 index 000000000..39a02826b --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R7.denote x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R7.root x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/RustStd.lean new file mode 100644 index 000000000..84e7ad2ab --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8.lean new file mode 100644 index 000000000..11595a24d --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R8 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/Compose/RustStd.lean new file mode 100644 index 000000000..ad3eaf042 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8 +import LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R8.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R8.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/RustStd.lean new file mode 100644 index 000000000..d7860be3c --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/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.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd diff --git a/examples/models/expected/verify/preserve/audit.txt b/examples/models/expected/verify/preserve/audit.txt index 987df84c5..8f76a96dd 100644 --- a/examples/models/expected/verify/preserve/audit.txt +++ b/examples/models/expected/verify/preserve/audit.txt @@ -7737,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.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, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -- statement vocabulary diff --git a/examples/models/expected/verify/preserve/preservation.json b/examples/models/expected/verify/preserve/preservation.json index 7fd9077c5..976d475a2 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":"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"} +{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"02de6e4be5a6ae43997bacd3713ea587693b8ac66da4aef567463a535a076ff3"},"roots":[{"byte_length":205391,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0","program":{"byte_length":81179,"sha256":"19c6696a115eee2945d9bc249774c91c5aa79a832ce10f52e67adb1a18bad77a"},"renderings":[{"byte_length":201067,"composed":{"byte_length":3064,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd","sha256":"d28ea567f7d62115d1fa28e6c1094741784808f88bf7a55c04fe7dc81142debd","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.root"},"crate":{"byte_length":29901,"sha256":"52b8e3b70d563369f42dfff8d391090bce768b71ed790f646aa9760fb4ec6d6f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd","sha256":"222ff862f8dc5b1a45bc4ccd0ecd565d0f9c915494a68cf50e485ee2d650e5ce","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.root"}],"root":"Models.Main.classify","sha256":"eaae0334f0ba2f7fc6560acb15a15838f92dd63a1b51274a8f4be97d93b48050","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.root"},{"byte_length":215569,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1","program":{"byte_length":83992,"sha256":"dce1e094aa452ad9f91b8784cdd0b834f9d69ea208e937eea7aa7d24c0c2addb"},"renderings":[{"byte_length":208269,"composed":{"byte_length":3064,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd","sha256":"63ea278963a26878bad3d4aec8cd52c2d3e1dcc7aef4a2cc1a0ab27400c05144","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.root"},"crate":{"byte_length":30770,"sha256":"67121441756174b7f9423e6843041eea64787ce77aa9dcb6762bd775fd74881e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd","sha256":"dba3e6f5fcbed74c1f04fd2166e702e23cad61cab4ba0011641cb44db2f7f8b2","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.root"}],"root":"Models.Main.classifyChecked","sha256":"0fa59dcbb3fd94e0a81f39df98f80a6c1396d05d9235743d9a1c3c44a3e861fa","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.root"},{"byte_length":86246,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2","program":{"byte_length":26060,"sha256":"09ddae4f092ac53b13ff3761c53a1371557124c89d6961d20261654bc4b1bdd9"},"renderings":[{"byte_length":84448,"composed":{"byte_length":3700,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd","sha256":"67847dee8806eaba2ca54af5bf508effff32ee84285da751295e1fb53d288250","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.root"},"crate":{"byte_length":21425,"sha256":"f576dc3bf699ab120bb97fe7962cea4bf4f465cea6730924fea750d36285f2c5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd","sha256":"cf1877f29d329d0bb65245c75fbeff5bb534ce10de93832e54fc061c9e19d7e0","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.root"}],"root":"Models.Main.respond","sha256":"bca3dc1a3e277268971a8053a7f577e22a5faa1c6e15950ae1449e358771a856","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.root"},{"byte_length":41340,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3","program":{"byte_length":11441,"sha256":"5eb0b277acebe2fd4e4accd84aada754039021640f20e31e8a810623b617a840"},"renderings":[{"byte_length":42275,"composed":{"byte_length":2318,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd","sha256":"b00cf8cec6acdac069af30778db9946666390c87f044a82bbb4001bc28e159c8","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.root"},"crate":{"byte_length":17019,"sha256":"5f186f5373dce90862c9a810e08bd13a8abf477bd797f8d5ec8716e8d63f652b"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd","sha256":"09865f4a8a190d436a2e1dc4980aeacdd38ffa1105698505abf7dda8861e876d","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.root"}],"root":"Models.Main.admitCosts","sha256":"27545f6a177b8ef096853c7aabcdb16af90d9a78598b69715ab188aee5d1ecf9","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.root"},{"byte_length":16488,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4","program":{"byte_length":4260,"sha256":"36d1687bd2f49a8a4e634440ac23148a5f94ed7d3c5ec222fe66c0615e9208af"},"renderings":[{"byte_length":16667,"composed":{"byte_length":2450,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd","sha256":"0e53d7adb26f9e29a430f6fdc04a127b590f3db6f870373cebbbf5d78150aa5d","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.root"},"crate":{"byte_length":14275,"sha256":"9580e86941cdeea970dc62f25bbf63090547dd2dc3618a0a303a687147a8f2e8"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd","sha256":"fe4b092d7d7f5a624cae0a5e712f6a805ec897bd009580fb930c11f7974e5e42","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.root"}],"root":"Models.Main.step","sha256":"e712ff10242e376d2e09efbdb4aaf9de4690e02825bb6f7ddb2bc6a5ffc81d93","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.root"},{"byte_length":16539,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5","program":{"byte_length":3912,"sha256":"223f35bd805c466609ba87317bb05b5d4c84e8ddb34eda0a212e475fa06ed6d0"},"renderings":[{"byte_length":13176,"composed":{"byte_length":1679,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd","sha256":"cfab7b7f5988ec2af2e4efb1f44983b308831cafa3f1f06b5abef2cd820b7cc9","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.root"},"crate":{"byte_length":13783,"sha256":"e8382fdebcad23a5a1550fafd501fdb4e10d1fc1aefe4a8b2313567cf49a4f5c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd","sha256":"182735558e8809fbb4ef3d765a519bb23d79124b36ced109dc68b309980349d0","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.root"}],"root":"Models.Main.ledgerPost","sha256":"c9a8c053d3ae3f478b466f8e687f0ee97772f6c9959bd270c28b7191de7e70a1","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.root"},{"byte_length":22235,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6","program":{"byte_length":4889,"sha256":"503bc027d950639ac5de5927de7fa4a04fca266c6fd0df3660196e5e287d7ce5"},"renderings":[{"byte_length":18749,"composed":{"byte_length":1679,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd","sha256":"3cd05642843a26363cf835078a8cd0e42643edee6df012ce96a585e7f7c40b9e","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.root"},"crate":{"byte_length":14211,"sha256":"898563f8bae88021f224534c1354540b6a565545d6c7c6e0b6cddfd30fe6a429"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd","sha256":"9c4cb21103039f833a60915bbf161dcd88d9324d30fd04d904f6f5eafa7effbb","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.root"}],"root":"Models.Main.ledgerFull","sha256":"1e2dfdd9a59dcc289e683c7868471d31aeba0061d1c3fb56ac37ad44965f11ab","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.root"},{"byte_length":11285,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7","program":{"byte_length":2614,"sha256":"8f1d418b689da95074ce318bd41caf146e0fc0c6e303165f2b1ca0abd385459d"},"renderings":[{"byte_length":8772,"composed":{"byte_length":1482,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd","sha256":"7f371f78bc4bbb257d1f14a1f70e413baa876b50382bf99c17318f9b3718c879","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.root"},"crate":{"byte_length":13420,"sha256":"0250a47719d614ca1aac8b544aa0168a202e61e5eb0011f6aaff82e3e73e59dd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd","sha256":"37b4b502b88ce36637c9c9b6509fb350d3950ed32fe91086617fdd7843835d65","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.root"}],"root":"Models.Main.guessChecked","sha256":"60c01408719b503e1331c45e1d2fa541ab1e0ffe2ab3e4fd7264f20b95b85a91","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.root"},{"byte_length":28208,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8","program":{"byte_length":8003,"sha256":"61d87ac85673bcb778de069cf6923996eb9e821ad05d71bfde3d36dd1bb3d241"},"renderings":[{"byte_length":26659,"composed":{"byte_length":1679,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd","sha256":"18c93fe4409b4f8aca925c8780f6d00c6cac9b3c00b578d3f79075ab5ae279fd","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd.root"},"crate":{"byte_length":14939,"sha256":"e4f361765740eab4808750f5d31762757ae333d2e23d94047ba8761aeb607264"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd","sha256":"5365bc9dd06dc59f8f5eb9d13034fbe226a4b2bdf15313a8b7ef6d71f320b1e2","target":"rust-std","theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.root"}],"root":"Models.Main.flowStep","sha256":"b5941fdd04224511829eebde6232e033f404351d41ff3c82fa4929a874f03082","targets":["rust-std"],"theorem":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.root"}],"spec":"lexlean/preservation/1"} diff --git a/examples/production-coverage/expected/verify/probe/LexLeanProbe.Pe371869b9b3ca32388daafe8348a6ca5.lean b/examples/models/expected/verify/probe/LexLeanProbe.P6e8361ce3941a9dbed4a89b310886cf8.lean similarity index 100% rename from examples/production-coverage/expected/verify/probe/LexLeanProbe.Pe371869b9b3ca32388daafe8348a6ca5.lean rename to examples/models/expected/verify/probe/LexLeanProbe.P6e8361ce3941a9dbed4a89b310886cf8.lean diff --git a/examples/models/expected/verify/probe/process.json b/examples/models/expected/verify/probe/process.json index 054f90f60..e0f009a81 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.P0f600e9a78a6f4d72a3e289fa7bc71d4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P0f600e9a78a6f4d72a3e289fa7bc71d4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P6e8361ce3941a9dbed4a89b310886cf8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P6e8361ce3941a9dbed4a89b310886cf8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/lean/LexLeanRuntime.Laws.json b/examples/models/expected/verify/process/lean/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..b6b4cff9f --- /dev/null +++ b/examples/models/expected/verify/process/lean/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Laws.olean","$STAGING/lean-src/LexLeanRuntime/Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","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 deleted file mode 100644 index a25f48265..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9f75ac3c7..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 849983eb7..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9bd623f48..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e89a0c927..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 296723b85..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c2f767e7a..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1efc9c715..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f13e07ca2..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c8838e345..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6cb053432..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3f5514cae..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 785f7740c..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0ab428ad2..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5fc5a5585..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e6df2db67..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c5b322658..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 546430017..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c9b0530c1..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3d471e934..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 38b6cccfe..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 98cd586e6..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 888e557f2..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 105a26dad..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 95cd122c5..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e9d435111..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a847ceb56..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.json +++ /dev/null @@ -1 +0,0 @@ -{"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.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.json new file mode 100644 index 000000000..5763c8821 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.json new file mode 100644 index 000000000..84488b2e1 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.json new file mode 100644 index 000000000..85dd3552a --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.json new file mode 100644 index 000000000..99ff1a53c --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.json new file mode 100644 index 000000000..fb6c9bec7 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.json new file mode 100644 index 000000000..d8281c98a --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.json new file mode 100644 index 000000000..31f0a7a6c --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.json new file mode 100644 index 000000000..4b56a4612 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.json new file mode 100644 index 000000000..602027524 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.json new file mode 100644 index 000000000..fc1cf6159 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.json new file mode 100644 index 000000000..a4b24a133 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.json new file mode 100644 index 000000000..9f01e00eb --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.json new file mode 100644 index 000000000..84a482665 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.json new file mode 100644 index 000000000..661022bd9 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.json new file mode 100644 index 000000000..26cf8fbdd --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.json new file mode 100644 index 000000000..b6882e9ef --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.json new file mode 100644 index 000000000..93d16287a --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.json new file mode 100644 index 000000000..3d368f7fd --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.json new file mode 100644 index 000000000..b212195ac --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.json new file mode 100644 index 000000000..45548997f --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.json new file mode 100644 index 000000000..5e5cc88de --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.json new file mode 100644 index 000000000..cb54a1362 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.json new file mode 100644 index 000000000..0651485c6 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.json new file mode 100644 index 000000000..1692d366d --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd.json new file mode 100644 index 000000000..d31f30309 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.json new file mode 100644 index 000000000..f12970e3e --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.json new file mode 100644 index 000000000..604859d6e --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json b/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..650bb0ba4 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Laws"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","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 43e6aedf9..35a106236 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'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"} +{"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.C6e8361ce3941a9dbed4a89b310886cf8.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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":"bd93966c411a257fd1b258aebeb3ae0998f6a9e994fe38e1cfd4bdeac3ff5365","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 deleted file mode 100644 index 856afd38c..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e4b384258..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 21961d995..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index effe9f03b..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 60d2acc18..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index bce3528ea..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e90d4b52a..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2de64ca65..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4e77659a7..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 88d539912..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 15915148e..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 58cf4b913..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index feab6c8ae..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 05a6791d4..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 020a60e5a..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 11706fbde..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 97eb33ccb..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 347fa08b5..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 678caf6ca..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9adb71c83..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c0a9748b9..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e9ff79aff..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 75bd171a4..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 90c3b0eca..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a4d7b78fc..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5d09eb3a8..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4b382f85b..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.json +++ /dev/null @@ -1 +0,0 @@ -{"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.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.json new file mode 100644 index 000000000..d4023273a --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.json new file mode 100644 index 000000000..1cb2b7b9d --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.json new file mode 100644 index 000000000..20e310583 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.json new file mode 100644 index 000000000..07b07f872 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.json new file mode 100644 index 000000000..8e4910f4c --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.json new file mode 100644 index 000000000..57d0a81a9 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.json new file mode 100644 index 000000000..17f28672a --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.json new file mode 100644 index 000000000..e7974c000 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.json new file mode 100644 index 000000000..edabb0be7 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.json new file mode 100644 index 000000000..4c7b8ffcd --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.json new file mode 100644 index 000000000..04134d6a1 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.json new file mode 100644 index 000000000..0054a497e --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.json new file mode 100644 index 000000000..530e11a5a --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.json new file mode 100644 index 000000000..70490286d --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.json new file mode 100644 index 000000000..029f54aaa --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.json new file mode 100644 index 000000000..667bee280 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.json new file mode 100644 index 000000000..ec62542fe --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.json new file mode 100644 index 000000000..d260cb718 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.json new file mode 100644 index 000000000..c2b5cb460 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.json new file mode 100644 index 000000000..1548ce6c5 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.json new file mode 100644 index 000000000..9c35d33ab --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.json new file mode 100644 index 000000000..7035e9e55 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.json new file mode 100644 index 000000000..a004ff48b --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.json new file mode 100644 index 000000000..1e328676c --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd.json new file mode 100644 index 000000000..af6a57ede --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.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.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.json new file mode 100644 index 000000000..856eba5f3 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.json new file mode 100644 index 000000000..a91fe6c5c --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8.olean","$STAGING/preserve-src/LexLeanPreserve/C6e8361ce3941a9dbed4a89b310886cf8/R8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6e8361ce3941a9dbed4a89b310886cf8.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/lexlean.lock b/examples/models/lexlean.lock index 97b4e2a78..40327d777 100644 --- a/examples/models/lexlean.lock +++ b/examples/models/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" project_config_sha256 = "b79e1070aab27c02ec4396ee66aa4bad7b90f9bca923932529eb9eb26264761a" lean_toolchain = "leanprover/lean4:v4.32.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 b2e2539a2..e4aae7152 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":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"} +{"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":299,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":515,"byte_start":299,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":761,"byte_start":515,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1124,"byte_start":761,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1356,"byte_start":1124,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1654,"byte_start":1356,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1821,"byte_start":1654,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1986,"byte_start":1821,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5069,"byte_start":1986,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5482,"byte_start":5069,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8602,"byte_start":5482,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9117,"byte_start":8602,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12298,"byte_start":9117,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12845,"byte_start":12298,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13054,"byte_start":12845,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16278,"byte_start":13054,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19621,"byte_start":16278,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20503,"byte_start":19621,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23805,"byte_start":20503,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24554,"byte_start":23805,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25627,"byte_start":24554,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25917,"byte_start":25627,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26300,"byte_start":25917,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29351,"byte_start":26300,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32478,"byte_start":29351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32826,"byte_start":32478,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33203,"byte_start":32826,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33263,"byte_start":33203,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33283,"byte_start":33263,"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/manifest.json b/examples/production-coverage/expected/build/manifest.json index d32430406..9988a89f0 100644 --- a/examples/production-coverage/expected/build/manifest.json +++ b/examples/production-coverage/expected/build/manifest.json @@ -1 +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"} +{"build_id":"64fcd0dbcf426baf25280ad6251bd4763ada5e9b8872e4c21d0ec135b3f0563b","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"762be23ae79a3a55b94ebdcd17d1f6642d31716f2defee4796021f4143bf8054"},{"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":14526,"kind":"coverage","path":"coverage/Coverage/Recur.coverage.json","sha256":"9cad30c1149b4f0591fb914334d4316762ae7429645395e40129fde4c7f753cc"},{"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":33283,"kind":"lean","path":"modules/Coverage/Recur.lean","sha256":"25a70c53355965a4d29334138497abf19ea35b12afb9de949063c28b1c71cec5"},{"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":"dad70f65f8078423df9ebf8cb8176b56c277595eb4ccc0aaf7279b93d01c5942"},{"byte_length":3916,"kind":"map","path":"maps/Coverage/Colls.map.json","sha256":"993ce548fa7ee1c5f918839b192bbb8fbb1fffe119c0bd367c24eb98286e389f"},{"byte_length":4862,"kind":"map","path":"maps/Coverage/Main.map.json","sha256":"d8e1108acae1a30c2c4dde111aa56e028018d7faf99c202abe7285d817b3195a"},{"byte_length":3912,"kind":"map","path":"maps/Coverage/Prims.map.json","sha256":"c0afae69f2bbdc2ea06ff80afbadf282413225546baba9e15975feb80a509a5b"},{"byte_length":2302,"kind":"map","path":"maps/Coverage/RecRoots.map.json","sha256":"700d8c0b27a0c047ace38f53a31db04f9c754ce4b399118deca0536e685bcd8e"},{"byte_length":9764,"kind":"map","path":"maps/Coverage/Recur.map.json","sha256":"b188f9b7e0f2dc77a10ab45fa07a3f5bab2fdec5f5d838dddd7b46332c8f2e01"},{"byte_length":2280,"kind":"map","path":"maps/Coverage/Syntax.map.json","sha256":"1e770fce9438c766c73994ed48e7f1131ce976cd10e7f86d9067e640f866a66c"},{"byte_length":5166,"kind":"map","path":"maps/Coverage/Types.map.json","sha256":"eed86b200dd3cfc5c0acb0b4482f947e5c7b926bcf86983f61127f7339f8de4c"},{"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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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 582adf5e8..8f1ed8d9d 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":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"} +{"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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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 6093c21b4..991773cbc 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":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"} +{"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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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 d0c43fb77..cfa07878a 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":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"} +{"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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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 a4edc6945..270083868 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":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"} +{"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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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 4e031405b..2b3161f26 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":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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 0e68d73bd..329c1c712 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Recur.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Recur.tex"}],"mappings":[{"artifact":0,"gen_end":299,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":10226,"src_start":0},{"artifact":0,"gen_end":515,"gen_start":299,"node":1,"role":"declaration","source":0,"src_end":417,"src_start":136},{"artifact":0,"gen_end":761,"gen_start":515,"node":2,"role":"declaration","source":0,"src_end":744,"src_start":419},{"artifact":0,"gen_end":1124,"gen_start":761,"node":3,"role":"declaration","source":0,"src_end":1153,"src_start":746},{"artifact":0,"gen_end":1356,"gen_start":1124,"node":4,"role":"declaration","source":0,"src_end":1456,"src_start":1155},{"artifact":0,"gen_end":1654,"gen_start":1356,"node":5,"role":"declaration","source":0,"src_end":1970,"src_start":1458},{"artifact":0,"gen_end":1821,"gen_start":1654,"node":6,"role":"declaration","source":0,"src_end":2197,"src_start":1972},{"artifact":0,"gen_end":1986,"gen_start":1821,"node":7,"role":"declaration","source":0,"src_end":2425,"src_start":2199},{"artifact":0,"gen_end":5069,"gen_start":1986,"node":8,"role":"declaration","source":0,"src_end":2656,"src_start":2427},{"artifact":0,"gen_end":5482,"gen_start":5069,"node":9,"role":"declaration","source":0,"src_end":2966,"src_start":2658},{"artifact":0,"gen_end":8602,"gen_start":5482,"node":10,"role":"declaration","source":0,"src_end":3226,"src_start":2968},{"artifact":0,"gen_end":9117,"gen_start":8602,"node":11,"role":"declaration","source":0,"src_end":3559,"src_start":3228},{"artifact":0,"gen_end":12298,"gen_start":9117,"node":12,"role":"declaration","source":0,"src_end":3866,"src_start":3561},{"artifact":0,"gen_end":12845,"gen_start":12298,"node":13,"role":"declaration","source":0,"src_end":4223,"src_start":3868},{"artifact":0,"gen_end":13054,"gen_start":12845,"node":14,"role":"declaration","source":0,"src_end":4508,"src_start":4225},{"artifact":0,"gen_end":16278,"gen_start":13054,"node":15,"role":"declaration","source":0,"src_end":4870,"src_start":4510},{"artifact":0,"gen_end":19621,"gen_start":16278,"node":16,"role":"declaration","source":0,"src_end":5346,"src_start":4872},{"artifact":0,"gen_end":20503,"gen_start":19621,"node":17,"role":"declaration","source":0,"src_end":5968,"src_start":5348},{"artifact":0,"gen_end":23805,"gen_start":20503,"node":18,"role":"declaration","source":0,"src_end":6408,"src_start":5970},{"artifact":0,"gen_end":24554,"gen_start":23805,"node":19,"role":"declaration","source":0,"src_end":6917,"src_start":6410},{"artifact":0,"gen_end":25627,"gen_start":24554,"node":20,"role":"declaration","source":0,"src_end":8040,"src_start":6919},{"artifact":0,"gen_end":25917,"gen_start":25627,"node":21,"role":"declaration","source":0,"src_end":8376,"src_start":8042},{"artifact":0,"gen_end":26300,"gen_start":25917,"node":22,"role":"declaration","source":0,"src_end":9001,"src_start":8378},{"artifact":0,"gen_end":29351,"gen_start":26300,"node":23,"role":"declaration","source":0,"src_end":9216,"src_start":9003},{"artifact":0,"gen_end":32478,"gen_start":29351,"node":24,"role":"declaration","source":0,"src_end":9479,"src_start":9218},{"artifact":0,"gen_end":32826,"gen_start":32478,"node":25,"role":"declaration","source":0,"src_end":9760,"src_start":9481},{"artifact":0,"gen_end":33203,"gen_start":32826,"node":26,"role":"declaration","source":0,"src_end":10059,"src_start":9762},{"artifact":0,"gen_end":33263,"gen_start":33203,"node":27,"role":"declaration","source":0,"src_end":10190,"src_start":10061},{"artifact":0,"gen_end":33283,"gen_start":33263,"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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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 7770355a5..fa9f9bd7a 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":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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 93bb6e000..6a53d8ff1 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":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"} +{"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":"c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47","source_id":"d1ddd8c153095c07d8377badc3196facc39d30ac16db478ce6b72b0387f0e4a7","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/Recur.lean b/examples/production-coverage/expected/build/modules/Coverage/Recur.lean index 10789cbad..16b31df74 100644 --- a/examples/production-coverage/expected/build/modules/Coverage/Recur.lean +++ b/examples/production-coverage/expected/build/modules/Coverage/Recur.lean @@ -1,6 +1,7 @@ module public import Init public import LexLeanRuntime.Portable +public import LexLeanRuntime.Laws public import Coverage.Syntax set_option autoImplicit false set_option maxRecDepth 100000 @@ -51,7 +52,9 @@ end public theorem countdown_decreases (number : Nat) (_steps : Nat) : (((Nat.blt (number) (2)) = false) -> ((LexLeanRuntime.subtract (number) (2) : Nat) < number)) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def countdown (number : Nat) (steps : Nat) : Nat := (match (generalizing := false) __decrease0 : (Nat.blt (number) (2)) with | true => steps | false => countdown ((LexLeanRuntime.subtract (number) (2) : Nat)) ((steps + 1))) @@ -60,7 +63,9 @@ decreasing_by all_goals first | (have __evidence := countdown_decreases (number) public theorem reduce_decreases (value : Nat) (bound : Nat) : (((Nat.beq (bound) (0)) = false) -> (((Nat.blt (value) (bound)) = false) -> ((LexLeanRuntime.subtract (value) (bound) : Nat) < value))) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def reduce (value : Nat) (bound : Nat) : Nat := (match (generalizing := false) __decrease0 : (Nat.beq (bound) (0)) with | true => value | false => (match (generalizing := false) __decrease1 : (Nat.blt (value) (bound)) with | true => value | false => reduce ((LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))) @@ -69,7 +74,9 @@ decreasing_by all_goals first | (have __evidence := reduce_decreases (value) (bo public theorem search_decreases (target : Nat) (low : Nat) (high : Nat) : (((Nat.blt (low) (high)) = true) -> (((Nat.ble (target) ((low + low))) = false) -> ((LexLeanRuntime.subtract (high) ((low + 1)) : Nat) < (LexLeanRuntime.subtract (high) (low) : Nat)))) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def search (target : Nat) (low : Nat) (high : Nat) : Nat := (match (generalizing := false) __decrease0 : (Nat.blt (low) (high)) with | true => (match (generalizing := false) __decrease1 : (Nat.ble (target) ((low + low))) with | true => low | false => search (target) ((low + 1)) (high)) | false => high) @@ -83,13 +90,17 @@ decreasing_by all_goals first | (have __evidence := search_decreases (target) (l public theorem reassociate_literal (term : Coverage.Syntax.Term) (left : Coverage.Syntax.Term) (right : Coverage.Syntax.Term) (value : Nat) : ((term = Coverage.Syntax.Term.plus (left) (right)) -> ((left = Coverage.Syntax.Term.literal (value)) -> (weight (right) < weight (term)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem reassociate_plus (term : Coverage.Syntax.Term) (left : Coverage.Syntax.Term) (right : Coverage.Syntax.Term) (inner : Coverage.Syntax.Term) (rest : Coverage.Syntax.Term) : ((term = Coverage.Syntax.Term.plus (left) (right)) -> ((left = Coverage.Syntax.Term.plus (inner) (rest)) -> (weight (Coverage.Syntax.Term.plus (inner) (Coverage.Syntax.Term.plus (rest) (right))) < weight (term)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def reassociate (term : Coverage.Syntax.Term) : Coverage.Syntax.Term := (match (generalizing := false) __decrease0 : term with | Coverage.Syntax.Term.literal value => Coverage.Syntax.Term.literal (value) | Coverage.Syntax.Term.plus left right => (match (generalizing := false) __decrease1 : left with | Coverage.Syntax.Term.literal value => Coverage.Syntax.Term.plus (Coverage.Syntax.Term.literal (value)) (reassociate (right)) | Coverage.Syntax.Term.plus inner rest => reassociate (Coverage.Syntax.Term.plus (inner) (Coverage.Syntax.Term.plus (rest) (right))))) @@ -99,7 +110,9 @@ decreasing_by all_goals first | (have __evidence := reassociate_literal (term) _ public theorem prune_plus (term : Coverage.Syntax.Term) (left : Coverage.Syntax.Term) (right : Coverage.Syntax.Term) (inner : Coverage.Syntax.Term) (rest : Coverage.Syntax.Term) : ((term = Coverage.Syntax.Term.plus (left) (right)) -> ((left = Coverage.Syntax.Term.plus (inner) (rest)) -> (weight (Coverage.Syntax.Term.plus (inner) (right)) < weight (term)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def prune (term : Coverage.Syntax.Term) : Coverage.Syntax.Term := (match (generalizing := false) __decrease0 : term with | Coverage.Syntax.Term.literal value => Coverage.Syntax.Term.literal (value) | Coverage.Syntax.Term.plus left right => (match (generalizing := false) __decrease1 : left with | Coverage.Syntax.Term.literal _ => prune (right) | Coverage.Syntax.Term.plus inner _ => prune (Coverage.Syntax.Term.plus (inner) (right)))) @@ -126,12 +139,16 @@ end public theorem ping_to_pong (number : Nat) : (((Nat.beq (number) (0)) = false) -> ((number + number) < ((number + number) + 1))) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem pong_to_ping (number : Nat) : (((Nat.beq (number) (0)) = false) -> ((((LexLeanRuntime.subtract (number) (1) : Nat) + (LexLeanRuntime.subtract (number) (1) : Nat)) + 1) < (number + number))) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega mutual diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Boundary.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Boundary.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Boundary.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Boundary.process.json new file mode 100644 index 000000000..4b0260df6 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Boundary.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Boundary.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Colls.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Colls.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Colls.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Colls.process.json new file mode 100644 index 000000000..3571fc358 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Colls.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Colls.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Main.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Main.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Main.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Main.process.json new file mode 100644 index 000000000..208e09575 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Prims.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Prims.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Prims.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Prims.process.json new file mode 100644 index 000000000..dd20ce25a --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Prims.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Prims.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.RecRoots.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.RecRoots.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.RecRoots.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.RecRoots.process.json new file mode 100644 index 000000000..c1f60c91a --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.RecRoots.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.RecRoots.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Recur.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Recur.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Recur.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Recur.process.json new file mode 100644 index 000000000..ff235bf39 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Recur.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Recur.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Syntax.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Syntax.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Syntax.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Syntax.process.json new file mode 100644 index 000000000..8218ddb2f --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Syntax.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Syntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Types.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Types.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Types.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Types.process.json new file mode 100644 index 000000000..9a61c07fa --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Types.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.Coverage.Types.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Collections.lean similarity index 100% rename from examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Collections.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Collections.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..2aa5ee5bf --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Laws.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Laws.lean new file mode 100644 index 000000000..3d95b8987 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Laws.lean @@ -0,0 +1,82 @@ +module +import LexLeanRuntime.Laws +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1.else_eq +#print axioms LexLeanCollections.lessThan.eq_1 +#print axioms LexLeanCollections.listFold.eq_1 +#print axioms LexLeanLaws.append_list +#print axioms LexLeanLaws.length_list +#print axioms LexLeanLaws.lessThan_int +#print axioms LexLeanLaws.lessThan_int16 +#print axioms LexLeanLaws.lessThan_int32 +#print axioms LexLeanLaws.lessThan_int64 +#print axioms LexLeanLaws.lessThan_int8 +#print axioms LexLeanLaws.lessThan_nat +#print axioms LexLeanLaws.lessThan_uint16 +#print axioms LexLeanLaws.lessThan_uint32 +#print axioms LexLeanLaws.lessThan_uint64 +#print axioms LexLeanLaws.lessThan_uint8 +#print axioms LexLeanLaws.listFold_add_int +#print axioms LexLeanLaws.listFold_add_int_self +#print axioms LexLeanLaws.listFold_add_nat +#print axioms LexLeanLaws.listFold_add_nat_self +#print axioms LexLeanLaws.listFold_append +#print axioms LexLeanLaws.listFold_cons +#print axioms LexLeanLaws.listFold_extend +#print axioms LexLeanLaws.listFold_fusion +#print axioms LexLeanLaws.listFold_nil +#print axioms LexLeanLaws.listFold_pair +#print axioms LexLeanLaws.listFold_prepend +#print axioms LexLeanLaws.listFold_sub_int +#print axioms LexLeanLaws.listFold_sub_int_self +#print axioms LexLeanLaws.mapEntries_self +#print axioms LexLeanLaws.mapFold_listFold +#print axioms LexLeanLaws.mapSize_length +#print axioms LexLeanLaws.quotient_int +#print axioms LexLeanLaws.quotient_nat +#print axioms LexLeanLaws.remainder_int +#print axioms LexLeanLaws.remainder_nat +#print axioms LexLeanLaws.setElements_self +#print axioms LexLeanLaws.setFold_listFold +#print axioms LexLeanLaws.setSize_length +#print axioms LexLeanLaws.sumInt +#print axioms LexLeanLaws.sumInt._f +#print axioms LexLeanLaws.sumInt._sunfold +#print axioms LexLeanLaws.sumInt._unsafe_rec +#print axioms LexLeanLaws.sumInt.eq_1 +#print axioms LexLeanLaws.sumInt.eq_2 +#print axioms LexLeanLaws.sumInt.eq_def +#print axioms LexLeanLaws.sumInt_add +#print axioms LexLeanLaws.sumInt_append +#print axioms LexLeanLaws.sumInt_cons +#print axioms LexLeanLaws.sumInt_const +#print axioms LexLeanLaws.sumInt_mul +#print axioms LexLeanLaws.sumInt_mul_right +#print axioms LexLeanLaws.sumInt_mul_self +#print axioms LexLeanLaws.sumInt_neg +#print axioms LexLeanLaws.sumInt_neg_self +#print axioms LexLeanLaws.sumInt_nil +#print axioms LexLeanLaws.sumInt_perm +#print axioms LexLeanLaws.sumInt_reverse +#print axioms LexLeanLaws.sumInt_sub +#print axioms LexLeanLaws.sumNat +#print axioms LexLeanLaws.sumNat._f +#print axioms LexLeanLaws.sumNat._sunfold +#print axioms LexLeanLaws.sumNat._unsafe_rec +#print axioms LexLeanLaws.sumNat.eq_1 +#print axioms LexLeanLaws.sumNat.eq_2 +#print axioms LexLeanLaws.sumNat.eq_def +#print axioms LexLeanLaws.sumNat.match_1 +#print axioms LexLeanLaws.sumNat_add +#print axioms LexLeanLaws.sumNat_append +#print axioms LexLeanLaws.sumNat_cons +#print axioms LexLeanLaws.sumNat_const +#print axioms LexLeanLaws.sumNat_mul +#print axioms LexLeanLaws.sumNat_mul_right +#print axioms LexLeanLaws.sumNat_mul_self +#print axioms LexLeanLaws.sumNat_nil +#print axioms LexLeanLaws.sumNat_perm +#print axioms LexLeanLaws.sumNat_reverse +#print axioms LexLeanLaws.tdiv_ediv +#print axioms LexLeanLaws.tmod_emod +#print axioms LexLeanRuntime.quotient.eq_1 +#print axioms LexLeanRuntime.remainder.eq_1 diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Laws.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Laws.process.json new file mode 100644 index 000000000..7f797d664 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Laws.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext]\n'LexLeanCollections.listFold.eq_1' does not depend on any axioms\n'LexLeanLaws.append_list' does not depend on any axioms\n'LexLeanLaws.length_list' does not depend on any axioms\n'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_nat' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint16' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint32' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint64' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint8' depends on axioms: [propext]\n'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_cons' does not depend on any axioms\n'LexLeanLaws.listFold_extend' depends on axioms: [propext]\n'LexLeanLaws.listFold_fusion' does not depend on any axioms\n'LexLeanLaws.listFold_nil' does not depend on any axioms\n'LexLeanLaws.listFold_pair' does not depend on any axioms\n'LexLeanLaws.listFold_prepend' depends on axioms: [propext]\n'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.mapEntries_self' does not depend on any axioms\n'LexLeanLaws.mapFold_listFold' does not depend on any axioms\n'LexLeanLaws.mapSize_length' does not depend on any axioms\n'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.setElements_self' does not depend on any axioms\n'LexLeanLaws.setFold_listFold' does not depend on any axioms\n'LexLeanLaws.setSize_length' does not depend on any axioms\n'LexLeanLaws.sumInt' does not depend on any axioms\n'LexLeanLaws.sumInt._f' does not depend on any axioms\n'LexLeanLaws.sumInt._sunfold' does not depend on any axioms\n'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_1' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_2' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_def' does not depend on any axioms\n'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_cons' does not depend on any axioms\n'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul' depends on axioms: [propext]\n'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext]\n'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_nil' does not depend on any axioms\n'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat' does not depend on any axioms\n'LexLeanLaws.sumNat._f' does not depend on any axioms\n'LexLeanLaws.sumNat._sunfold' does not depend on any axioms\n'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_1' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_2' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_def' does not depend on any axioms\n'LexLeanLaws.sumNat.match_1' does not depend on any axioms\n'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_cons' does not depend on any axioms\n'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul' does not depend on any axioms\n'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul_self' does not depend on any axioms\n'LexLeanLaws.sumNat_nil' does not depend on any axioms\n'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.quotient.eq_1' does not depend on any axioms\n'LexLeanRuntime.remainder.eq_1' does not depend on any axioms\n","stdout_sha256":"a4ba2d39c9cdfd5e40c41c5ccf4726d937fd192fc042b74bb56cc0651e28919e","tool":"lean"} diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Portable.lean similarity index 100% rename from examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Portable.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Portable.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..d8c28d388 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac2030093ffdb7a3e8068874ff75532ac.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/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.process.json deleted file mode 100644 index 10c1bed7a..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.process.json deleted file mode 100644 index 32b9b4636..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.process.json deleted file mode 100644 index 1767e8fb3..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.process.json deleted file mode 100644 index 8db7b5934..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.process.json deleted file mode 100644 index 3501dbd3b..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.process.json deleted file mode 100644 index a20385181..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.process.json deleted file mode 100644 index 5742844f8..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.process.json deleted file mode 100644 index d461a2790..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.process.json deleted file mode 100644 index 0b3570d48..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.process.json deleted file mode 100644 index 7c6a312ea..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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 498838cea..e5f365a27 100644 --- a/examples/production-coverage/expected/verify/audit/output.txt +++ b/examples/production-coverage/expected/verify/audit/output.txt @@ -183,6 +183,86 @@ '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 +'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext] +'LexLeanCollections.listFold.eq_1' does not depend on any axioms +'LexLeanLaws.append_list' does not depend on any axioms +'LexLeanLaws.length_list' does not depend on any axioms +'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_nat' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint16' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint32' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint64' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint8' depends on axioms: [propext] +'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_cons' does not depend on any axioms +'LexLeanLaws.listFold_extend' depends on axioms: [propext] +'LexLeanLaws.listFold_fusion' does not depend on any axioms +'LexLeanLaws.listFold_nil' does not depend on any axioms +'LexLeanLaws.listFold_pair' does not depend on any axioms +'LexLeanLaws.listFold_prepend' depends on axioms: [propext] +'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.mapEntries_self' does not depend on any axioms +'LexLeanLaws.mapFold_listFold' does not depend on any axioms +'LexLeanLaws.mapSize_length' does not depend on any axioms +'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.setElements_self' does not depend on any axioms +'LexLeanLaws.setFold_listFold' does not depend on any axioms +'LexLeanLaws.setSize_length' does not depend on any axioms +'LexLeanLaws.sumInt' does not depend on any axioms +'LexLeanLaws.sumInt._f' does not depend on any axioms +'LexLeanLaws.sumInt._sunfold' does not depend on any axioms +'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumInt.eq_1' does not depend on any axioms +'LexLeanLaws.sumInt.eq_2' does not depend on any axioms +'LexLeanLaws.sumInt.eq_def' does not depend on any axioms +'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_cons' does not depend on any axioms +'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul' depends on axioms: [propext] +'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext] +'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_nil' does not depend on any axioms +'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat' does not depend on any axioms +'LexLeanLaws.sumNat._f' does not depend on any axioms +'LexLeanLaws.sumNat._sunfold' does not depend on any axioms +'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumNat.eq_1' does not depend on any axioms +'LexLeanLaws.sumNat.eq_2' does not depend on any axioms +'LexLeanLaws.sumNat.eq_def' does not depend on any axioms +'LexLeanLaws.sumNat.match_1' does not depend on any axioms +'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_cons' does not depend on any axioms +'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul' does not depend on any axioms +'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul_self' does not depend on any axioms +'LexLeanLaws.sumNat_nil' does not depend on any axioms +'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.quotient.eq_1' does not depend on any axioms +'LexLeanRuntime.remainder.eq_1' 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 diff --git a/examples/production-coverage/expected/verify/extract/LexLeanExtract.Xc2030093ffdb7a3e8068874ff75532ac.lean b/examples/production-coverage/expected/verify/extract/LexLeanExtract.Xc2030093ffdb7a3e8068874ff75532ac.lean new file mode 100644 index 000000000..4ad44c031 --- /dev/null +++ b/examples/production-coverage/expected/verify/extract/LexLeanExtract.Xc2030093ffdb7a3e8068874ff75532ac.lean @@ -0,0 +1,441 @@ +module +public meta import Lean +import all LexLeanRuntime.Portable +import all LexLeanRuntime.Collections +import all LexLeanRuntime.Laws +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", "LexLeanRuntime.Laws", "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 deleted file mode 100644 index cb66824ee..000000000 --- a/examples/production-coverage/expected/verify/extract/LexLeanExtract.Xe371869b9b3ca32388daafe8348a6ca5.lean +++ /dev/null @@ -1,440 +0,0 @@ -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 844ff5ee7..8bfab2be3 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.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"} +{"argv":["env","lean","$STAGING/extract/LexLeanExtract.Xc2030093ffdb7a3e8068874ff75532ac.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.Xc2030093ffdb7a3e8068874ff75532ac","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_32\",\"_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\",\"congr\",\"congrArg\",\"congrFun'\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.mpr\",\"Eq.ndrec\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.add_assoc\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\",\"_private.Coverage.Recur.0.Coverage.Recur.prune_plus._proof_1_35\"],\"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\",\"congrArg\",\"congrFun'\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.mpr\",\"Eq.ndrec\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.add_assoc\",\"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_35\"],\"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\",\"congr\",\"congrArg\",\"congrFun'\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.mpr\",\"Eq.ndrec\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.add_assoc\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\",\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_plus._proof_1_35\"],\"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_32\",\"_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_32\"],\"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_32\",\"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_35\",\"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_35\",\"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_35\",\"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_32\",\"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_32\",\"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":"61bc88661e5d1048dfc867a9b847049b2c9eeceed3cb0f4da5fc8437c0fab574","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0.lean new file mode 100644 index 000000000..70bc1c237 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.entryFits g ledger picks spare) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.accepts g ledger picks spare) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.denoteEntry g ledger picks spare = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.denote g ledger picks spare) := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.entryValue _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.accepts g ledger picks spare) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.denoteEntry g ledger picks spare = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/Compose/RustStd.lean new file mode 100644 index 000000000..498c922f2 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/Compose/RustStd.lean @@ -0,0 +1,50 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd + +mutual +theorem __wt_0 : ∀ (__v : (Coverage.Boundary.Grove)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.__enc_0 g), (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 18) [(_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.__enc_0 g), (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.accepts g ledger picks spare → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.denote g ledger picks spare)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.entry_accepts g ledger picks spare __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.entry_refuses g ledger picks spare __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/RustStd.lean new file mode 100644 index 000000000..04bf71211 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1.lean new file mode 100644 index 000000000..75c07f5b3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.entryFits m k v) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.entryFits])) + +theorem entry_accepts (m : (List (Prod String Nat))) (k : String) (v : Nat) (__h : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.accepts m k v) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.denoteEntry m k v = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.denote m k v) := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.entryValue _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.accepts m k v) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.denoteEntry m k v = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.entryValue + cases __c0 : __valid_8 m + · simp + · exact _root_.absurd ⟨(__viff_8 m).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/Compose/RustStd.lean new file mode 100644 index 000000000..0725f44d4 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.accepts m k v → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.denote m k v)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.entry_accepts m k v __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.entry_refuses m k v __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/RustStd.lean new file mode 100644 index 000000000..39a830454 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10.lean index dcad1c0fc..8fd381a47 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10.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.Ce371869b9b3ca32388daafe8348a6ca5.R10 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,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_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.natOps a b))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) -end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustCore.lean new file mode 100644 index 000000000..86c87057e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustStd.lean new file mode 100644 index 000000000..a9d80c2f3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/RustCore.lean new file mode 100644 index 000000000..756e7186d --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/RustStd.lean new file mode 100644 index 000000000..58c7717ee --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11.lean index 46de2e2f3..2b4b6f247 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11.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.Ce371869b9b3ca32388daafe8348a6ca5.R11 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (a : Int) (b : Int) : _root_.LexLeanPreservation.Obs := 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 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustCore.lean new file mode 100644 index 000000000..aa129a8ad --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustStd.lean new file mode 100644 index 000000000..835b954dc --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/RustCore.lean new file mode 100644 index 000000000..a4f447c0f --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/RustStd.lean new file mode 100644 index 000000000..76aec1f69 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12.lean index e47eb252e..41239335a 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R12 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [{ constructors := [[.nat], [.nat, .nat], []] }], functions := [ @@ -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.Ce371869b9b3ca32388daafe8348a6ca5.R12 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustCore.lean new file mode 100644 index 000000000..2cb1e5f22 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustCore.lean @@ -0,0 +1,21 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore + +theorem __wt_0 : ∀ (__v : (Coverage.Types.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.denote w h) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.root w h) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustStd.lean new file mode 100644 index 000000000..df7eacadb --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustStd.lean @@ -0,0 +1,21 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Coverage.Types.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.denote w h) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.root w h) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/RustCore.lean new file mode 100644 index 000000000..8ec5caecf --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/RustStd.lean new file mode 100644 index 000000000..c06f61b9e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13.lean index c0df7b590..ad662e951 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R13 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R13 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/Compose/RustStd.lean new file mode 100644 index 000000000..6e29f3850 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Coverage.Types.Tree)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R13.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R13.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/RustStd.lean new file mode 100644 index 000000000..bf3ef6010 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14.lean index 7c8e5852b..791f179b1 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R14 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R14 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustCore.lean new file mode 100644 index 000000000..320a78dad --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustCore.lean @@ -0,0 +1,25 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore + +theorem __wt_0 : ∀ (__s : (Coverage.Types.Point)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustStd.lean new file mode 100644 index 000000000..4011de8bb --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustStd.lean @@ -0,0 +1,25 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd + +theorem __wt_0 : ∀ (__s : (Coverage.Types.Point)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/RustCore.lean new file mode 100644 index 000000000..e3c64285e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/RustStd.lean new file mode 100644 index 000000000..bccb007dc --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15.lean index b1831a71a..c80346d72 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R15 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R15 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustCore.lean new file mode 100644 index 000000000..4f9e332e5 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.denote v r) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.root v r) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustStd.lean new file mode 100644 index 000000000..4d7bf5182 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.denote v r) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.root v r) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/RustCore.lean new file mode 100644 index 000000000..f2a40a37c --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/RustStd.lean new file mode 100644 index 000000000..9d023b844 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16.lean index bb5c767b1..27b62b2ad 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R16 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R16 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustCore.lean new file mode 100644 index 000000000..fbe1bdcec --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustStd.lean new file mode 100644 index 000000000..282b61257 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/RustCore.lean new file mode 100644 index 000000000..73259a58a --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/RustStd.lean new file mode 100644 index 000000000..6781c13c8 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17.lean similarity index 95% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17.lean index 23ab03b8f..7f764eb3b 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R17 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R17 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustCore.lean new file mode 100644 index 000000000..44b231383 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.denote p) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.root p) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustStd.lean new file mode 100644 index 000000000..94877cc7d --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.denote p) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.root p) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/RustCore.lean new file mode 100644 index 000000000..b3b73e4bb --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/RustStd.lean new file mode 100644 index 000000000..edf597555 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18.lean index f4809e44f..fb4f3f3d1 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18.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.Ce371869b9b3ca32388daafe8348a6ca5.R18 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -70,4 +70,4 @@ def denote (base : Nat) (offset : Nat) : _root_.LexLeanPreservation.Obs := 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 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustCore.lean new file mode 100644 index 000000000..1c0bb3d62 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.denote base offset) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.root base offset) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustStd.lean new file mode 100644 index 000000000..74207e1d3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.denote base offset) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.root base offset) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/RustCore.lean new file mode 100644 index 000000000..3da429b4e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/RustStd.lean new file mode 100644 index 000000000..e4b6f8a46 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19.lean index afe154cf1..f4580b619 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R19 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -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.Ce371869b9b3ca32388daafe8348a6ca5.R19 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/Compose/RustStd.lean new file mode 100644 index 000000000..13292cb09 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R19.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R19.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/RustStd.lean new file mode 100644 index 000000000..0375833cd --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2.lean new file mode 100644 index 000000000..9479d1f3b --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.entryFits m bonus) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.entryFits])) + +theorem entry_accepts (m : (List (Prod Nat Nat))) (bonus : Nat) (__h : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.accepts m bonus) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.denoteEntry m bonus = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.denote m bonus) := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.entryValue _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.accepts m bonus) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.denoteEntry m bonus = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.entryValue + cases __c0 : __valid_3 m + · simp + · exact _root_.absurd ⟨(__viff_3 m).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/Compose/RustStd.lean new file mode 100644 index 000000000..3ca11a1a6 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.accepts m bonus → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.denote m bonus)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.entry_accepts m bonus __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.entry_refuses m bonus __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/RustStd.lean new file mode 100644 index 000000000..1aac31540 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20.lean index a6a710f6a..167485e60 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R20 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R20 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustCore.lean new file mode 100644 index 000000000..a4f3d2f83 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustStd.lean new file mode 100644 index 000000000..b10b82cce --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/RustCore.lean new file mode 100644 index 000000000..7e1a74230 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/RustStd.lean new file mode 100644 index 000000000..348416fec --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21.lean index 9c6a57cf9..24339a2ac 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R21 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R21 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustCore.lean new file mode 100644 index 000000000..343367cfe --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustStd.lean new file mode 100644 index 000000000..f0fbaf8ff --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/RustCore.lean new file mode 100644 index 000000000..7838c13fb --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/RustStd.lean new file mode 100644 index 000000000..08f1e7c20 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22.lean index 904ebd370..e4c58372b 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R22 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R22 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustCore.lean new file mode 100644 index 000000000..06f6f44be --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustStd.lean new file mode 100644 index 000000000..83123305d --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/RustCore.lean new file mode 100644 index 000000000..760833d5c --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/RustStd.lean new file mode 100644 index 000000000..7be47ee09 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23.lean index afcc5913f..63826415b 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R23 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -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.Ce371869b9b3ca32388daafe8348a6ca5.R23 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustCore.lean new file mode 100644 index 000000000..760707828 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.denote a b c) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.root a b c) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustStd.lean new file mode 100644 index 000000000..69febf691 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.denote a b c) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.root a b c) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/RustCore.lean new file mode 100644 index 000000000..186c5da3f --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/RustStd.lean new file mode 100644 index 000000000..08a9bc05d --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24.lean index c33ee9add..aab581d9d 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R24 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R24 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustCore.lean new file mode 100644 index 000000000..6c6be2423 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.denote a b s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.root a b s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustStd.lean new file mode 100644 index 000000000..679585f7b --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.denote a b s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.root a b s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/RustCore.lean new file mode 100644 index 000000000..e93847e32 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/RustStd.lean new file mode 100644 index 000000000..188f24195 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25.lean similarity index 96% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25.lean index 75be1696d..241fc7068 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R25 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R25 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustCore.lean new file mode 100644 index 000000000..d49009a7e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustStd.lean new file mode 100644 index 000000000..6afaad490 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/RustCore.lean new file mode 100644 index 000000000..f26c2946e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/RustStd.lean new file mode 100644 index 000000000..0cb125cb3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26.lean similarity index 99% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26.lean index b2709aa80..e96a4b5f5 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26.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.Ce371869b9b3ca32388daafe8348a6ca5.R26 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (xs : (List Nat)) (b : ByteArray) (i : Nat) : _root_.LexLeanPreservat 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 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/Compose/RustStd.lean new file mode 100644 index 000000000..e0b1d7fbf --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R26.denote xs b i) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R26.root xs b i) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/RustStd.lean new file mode 100644 index 000000000..a33defaef --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27.lean similarity index 96% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27.lean index 5fdf87704..25c59dddc 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R27 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R27 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/Compose/RustStd.lean new file mode 100644 index 000000000..68f76cbfa --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R27.denote s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R27.root s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/RustStd.lean new file mode 100644 index 000000000..15b65f4dc --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28.lean similarity index 95% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28.lean index 411d042a3..aea896ab1 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R28 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R28 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/Compose/RustStd.lean new file mode 100644 index 000000000..f26839950 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R28.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R28.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/RustStd.lean new file mode 100644 index 000000000..1226057d1 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29.lean index 129d505f3..217bfd19f 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29.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.Ce371869b9b3ca32388daafe8348a6ca5.R29 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (s : String) (d : String) : _root_.LexLeanPreservation.Obs := 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 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/Compose/RustStd.lean new file mode 100644 index 000000000..6adf94264 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R29.denote s d) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R29.root s d) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/RustStd.lean new file mode 100644 index 000000000..7a9737a02 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3.lean new file mode 100644 index 000000000..5485c7ea9 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.entryFits s t x) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.entryFits])) + +theorem entry_accepts (s : (List Nat)) (t : (List Nat)) (x : Nat) (__h : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.accepts s t x) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.denoteEntry s t x = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.denote s t x) := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.entryValue _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.accepts s t x) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.denoteEntry s t x = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/Compose/RustStd.lean new file mode 100644 index 000000000..41ad6218f --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.accepts s t x → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.denote s t x)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.entry_accepts s t x __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.entry_refuses s t x __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/RustStd.lean new file mode 100644 index 000000000..25b27e01b --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30.lean index d4832b57a..fdd0a9ab6 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R30 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R30 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/Compose/RustStd.lean new file mode 100644 index 000000000..dcb73ed52 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/Compose/RustStd.lean @@ -0,0 +1,26 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd + +mutual +theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Rose Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/RustStd.lean new file mode 100644 index 000000000..205070b5b --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31.lean similarity index 99% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31.lean index 7d3894093..7708639a9 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R31 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R31 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/Compose/RustStd.lean new file mode 100644 index 000000000..9d2ed8990 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/Compose/RustStd.lean @@ -0,0 +1,32 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd + +mutual +theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Expr)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.__enc_0 e)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.denote e) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.__enc_0 e)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 e) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.root e) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/RustStd.lean new file mode 100644 index 000000000..30af254a1 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32.lean similarity index 99% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32.lean index ef8371dbc..f9b18ec79 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32.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.Ce371869b9b3ca32388daafe8348a6ca5.R32 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -77,4 +77,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_.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 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustCore.lean new file mode 100644 index 000000000..1731995ca --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustStd.lean new file mode 100644 index 000000000..517a4bcd3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/RustCore.lean new file mode 100644 index 000000000..d8d677cbf --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/RustStd.lean new file mode 100644 index 000000000..af0a15e1e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33.lean similarity index 99% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33.lean index b90dcab8d..37da0664e 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R33 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R33 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/Compose/RustStd.lean new file mode 100644 index 000000000..ca9a4f0be --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Term)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.program _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.krate _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.flags (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R33.__enc_0 t)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.denote t) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.__enc_0 t)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 t) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.root t) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/RustStd.lean new file mode 100644 index 000000000..c7b67f44f --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4.lean new file mode 100644 index 000000000..b77d347fb --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.entryFits xs s) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.entryFits])) + +theorem entry_accepts (xs : (List Nat)) (s : (List Int)) (__h : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.accepts xs s) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.denoteEntry xs s = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.denote xs s) := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.entryValue _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.accepts xs s) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.denoteEntry xs s = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.entryValue + cases __c0 : __valid_5 s + · simp + · exact _root_.absurd ⟨(__viff_5 s).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/Compose/RustStd.lean new file mode 100644 index 000000000..718e62ddd --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.accepts xs s → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.denote xs s)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.entry_accepts xs s __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.entry_refuses xs s __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/RustStd.lean new file mode 100644 index 000000000..90fc92f61 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5.lean new file mode 100644 index 000000000..ca6c73baa --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R5 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/Compose/RustStd.lean new file mode 100644 index 000000000..28b9fee6f --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R5.denote n start) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R5.root n start) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/RustStd.lean new file mode 100644 index 000000000..b60c9bbcb --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6.lean new file mode 100644 index 000000000..a3e483e57 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.entryFits g start) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.entryFits])) + +theorem entry_accepts (g : (List (Prod Nat (List Nat)))) (start : Nat) (__h : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.accepts g start) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.denoteEntry g start = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.denote g start) := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.entryValue _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.accepts g start) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.denoteEntry g start = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.entryValue + cases __c0 : __valid_28 g + · simp + · exact _root_.absurd ⟨(__viff_28 g).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/Compose/RustStd.lean new file mode 100644 index 000000000..c3794a184 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.accepts g start → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.denote g start)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.entry_accepts g start __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.entry_refuses g start __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/RustStd.lean new file mode 100644 index 000000000..63d1316bd --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7.lean new file mode 100644 index 000000000..5833a0b05 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.entryFits g) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.entryFits])) + +theorem entry_accepts (g : (List (Prod String (List String)))) (__h : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.accepts g) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.denoteEntry g = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.denote g) := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.entryValue _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.accepts g) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.denoteEntry g = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.entryValue + cases __c0 : __valid_13 g + · simp + · exact _root_.absurd ⟨(__viff_13 g).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/Compose/RustStd.lean new file mode 100644 index 000000000..203b6c565 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.accepts g → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.denote g)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.entry_accepts g __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.entry_refuses g __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/RustStd.lean new file mode 100644 index 000000000..2c5d458c6 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8.lean new file mode 100644 index 000000000..9635441ac --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.entryFits a k i j b c d e u w) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.accepts a k i j b c d e u w) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.denoteEntry a k i j b c d e u w = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.denote a k i j b c d e u w) := by + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.entryValue _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.accepts a k i j b c d e u w) : _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.accepts at __h + unfold _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.denoteEntry _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.entryFits _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/Compose/RustStd.lean new file mode 100644 index 000000000..416d25335 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.accepts a k i j b c d e u w → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.denote a k i j b c d e u w)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.entry_accepts a k i j b c d e u w __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.entry_refuses a k i j b c d e u w __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/RustStd.lean new file mode 100644 index 000000000..f5bfe7dbf --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9.lean index 71d00fd80..d9605130f 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Ce371869b9b3ca32388daafe8348a6ca5.R9 +namespace LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Ce371869b9b3ca32388daafe8348a6ca5.R9 +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/Compose/RustStd.lean new file mode 100644 index 000000000..24411d770 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9 +import LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R9.denote x s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R9.root x s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/RustStd.lean new file mode 100644 index 000000000..b264c4ae5 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/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.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.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 deleted file mode 100644 index 96eeb9efe..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 07ca2ba0b..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/Compose/RustStd.lean +++ /dev/null @@ -1,50 +0,0 @@ -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 deleted file mode 100644 index 9ed29103a..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 53c1a03b3..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index c8154be0d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 500d036db..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustCore.lean deleted file mode 100644 index 65e288659..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 5c8e1630d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 1cdbc7e20..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index ec1fb5a6c..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustCore.lean deleted file mode 100644 index d25fd5bd2..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index d09a1aa72..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index f20518e06..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index da94be4db..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustCore.lean deleted file mode 100644 index fe1c9f513..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustCore.lean +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index a68eef604..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustStd.lean +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index e112b7902..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 7d5728ed7..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R13/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/Compose/RustStd.lean deleted file mode 100644 index 8524898ed..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 3f9c54648..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustCore.lean deleted file mode 100644 index 41e095d4a..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustCore.lean +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index be0a23b6f..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustStd.lean +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 0b859c3bf..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 5b24fefba..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustCore.lean deleted file mode 100644 index 4e92b2a9d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 75027742a..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index d54904a81..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 76007772a..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustCore.lean deleted file mode 100644 index 568261578..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index ee5a0e7ea..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index ff97edc54..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index c9524ac12..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustCore.lean deleted file mode 100644 index 333799252..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 9946da70c..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 82b40b89d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 493894c67..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustCore.lean deleted file mode 100644 index 8254c31fa..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 1151f9d00..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 296cb92b6..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 58311def6..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R19/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/Compose/RustStd.lean deleted file mode 100644 index 30923d7bd..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 0d46d1a1e..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 452abf363..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 207f60a58..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 1c4772b27..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustCore.lean deleted file mode 100644 index da0e0496e..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 9d23efe96..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index cd95407c3..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index d443f3c15..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustCore.lean deleted file mode 100644 index 2a2d93382..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 91ba9e3fe..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 4e33346bd..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index e4c820d37..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustCore.lean deleted file mode 100644 index 38c0ed775..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 58e2530dd..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 0e0e326e4..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 845cda0e8..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustCore.lean deleted file mode 100644 index 7e0f23a19..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 2300cf0c1..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index da341730e..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 15d2a3828..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustCore.lean deleted file mode 100644 index e9a9948e6..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 1e64d0013..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 68a88b521..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index e30076124..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustCore.lean deleted file mode 100644 index 818b0d62b..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index c25432792..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 21ff06dbf..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 29eb5e7e1..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/Compose/RustStd.lean deleted file mode 100644 index 3eccead3a..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 86e9adc78..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R27/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/Compose/RustStd.lean deleted file mode 100644 index c56b5b54a..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 16d143679..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R28/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/Compose/RustStd.lean deleted file mode 100644 index 7741c36c3..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 01c7ff5ef..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/Compose/RustStd.lean deleted file mode 100644 index 5ebfe9aad..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 887f23f80..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 03f95cc57..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 0dc7aaa91..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 1d7124671..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R30/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/Compose/RustStd.lean deleted file mode 100644 index 6449145bc..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/Compose/RustStd.lean +++ /dev/null @@ -1,26 +0,0 @@ -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 deleted file mode 100644 index c24839681..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R31/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/Compose/RustStd.lean deleted file mode 100644 index 3963490e1..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/Compose/RustStd.lean +++ /dev/null @@ -1,32 +0,0 @@ -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 deleted file mode 100644 index 4252a6e82..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustCore.lean deleted file mode 100644 index 3dafaf226..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index bba3b594f..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index bddc117bf..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 045f99476..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R33/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/Compose/RustStd.lean deleted file mode 100644 index 23a52ff50..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 31b26fbd4..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 80c47ca54..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index d8a8e0ae7..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 9cc3dfbc0..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index cc03c21c4..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index bd494b4ff..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 177bf418e..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 5c53cf646..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 108c45031..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 9dfd2c8d2..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index c015a3905..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 4d39c84c2..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 8039c35c0..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index f00e5bc37..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 deleted file mode 100644 index 98bee53bb..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 9513b3500..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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/Ce371869b9b3ca32388daafe8348a6ca5/R9/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/Compose/RustStd.lean deleted file mode 100644 index 491d889cb..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index bb70ae666..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/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.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 05b584ae9..7043cc886 100644 --- a/examples/production-coverage/expected/verify/preserve/audit.txt +++ b/examples/production-coverage/expected/verify/preserve/audit.txt @@ -7737,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.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, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -- statement vocabulary diff --git a/examples/production-coverage/expected/verify/preserve/preservation.json b/examples/production-coverage/expected/verify/preserve/preservation.json index 6cfbea5b0..f365c03f6 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":"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"} +{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"02de6e4be5a6ae43997bacd3713ea587693b8ac66da4aef567463a535a076ff3"},"roots":[{"byte_length":57998,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0","program":{"byte_length":19449,"sha256":"1aadfc9ba4fd60d7060d145ef97656e0bca23924ec77e487808d5faae1ada33d"},"renderings":[{"byte_length":85650,"composed":{"byte_length":9211,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd","sha256":"70ec08cf31df3a1371688855f754bd0a4dce09fbb651d2909d9f6e90df0c9d4b","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.root"},"crate":{"byte_length":22556,"sha256":"77ab666847a104f8f578a1f8e741421430e9fed92895817a111f50a95178b620"},"entry":{"function":18,"symbol":"f18"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd","sha256":"9fdbb557e03fc1c14b745580210ab47b56239d046741e78304205f78d2423af2","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.root"}],"root":"Coverage.Boundary.groveRoot","sha256":"78721c55a8a8fdc9c0eb90b586329508e2139a5ff1a8a5855a5255937ac426d9","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.root"},{"byte_length":29473,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1","program":{"byte_length":16945,"sha256":"befbd0f6a81345584eccc0e352073fcc65d585f2ff9b002aad0cfac26a5a426f"},"renderings":[{"byte_length":59928,"composed":{"byte_length":3031,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd","sha256":"d8c00fe0d318715c4025dd96fe78c15e2d61ebbc3bbbed2326756356bdc9c3f5","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.root"},"crate":{"byte_length":19105,"sha256":"5d5216f8cd8580e08122755e5fd0aa617b9ba4b46fd2dcb000f6d7503c307f92"},"entry":{"function":10,"symbol":"f10"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd","sha256":"931fd2b7ae9e8801742fd99a6a71eaf3a35f1ec50448847ede272394d5239d95","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.root"}],"root":"Coverage.Colls.mapOps","sha256":"3af528acc5a433558b4cb2231f52d85586c4386c9126c78287765fe7fb4a38e6","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.root"},{"byte_length":13128,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2","program":{"byte_length":4015,"sha256":"db2b0f171e75cff8b9931bc693e039342501c8d43f2d2a653bd29728fe777dc1"},"renderings":[{"byte_length":25017,"composed":{"byte_length":2837,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd","sha256":"2b08107c892e39d0697aa2a8b3f85532a2b15a4ad73034cc6c65a8475985843f","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.root"},"crate":{"byte_length":15540,"sha256":"014aa5f97db48ae59c8841bf98cd515f65a1be0c24b3fd1095cc48ebb6c83fc1"},"entry":{"function":5,"symbol":"f5"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd","sha256":"360e04e316ab64132239454b9a678d170ff4eac580aaf1b34e239fb4236a0a7c","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.root"}],"root":"Coverage.Colls.mapFolding","sha256":"03131e35a82f3ed9607ee3232d48706e026c8c77cec76861171cf6d7dc4278c5","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.root"},{"byte_length":26754,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3","program":{"byte_length":16755,"sha256":"ff65cb9f421e37305a20ed392f155a0aabde61713d63520082effd9e2006231d"},"renderings":[{"byte_length":61996,"composed":{"byte_length":2876,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd","sha256":"e7ca504d93337ae8686a37d93a816d0186a2579da374405f69f81f6a08149ec0","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.root"},"crate":{"byte_length":19344,"sha256":"b735c8c86aaac3de962c4a35440898953b1162fd156ada72eb075744426d87e1"},"entry":{"function":11,"symbol":"f11"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd","sha256":"855ffb6fb58da61afa9c5b5a8e420aab705dbf621f799ef5870972cd04adc43c","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.root"}],"root":"Coverage.Colls.setOps","sha256":"d3fe677586a97cf780f25e5a147e8176c71d188d241c7fe87d90e7c726c20a04","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.root"},{"byte_length":13311,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4","program":{"byte_length":4435,"sha256":"48b1d22aff3beb88a3f286056475ac74e9a357ff9dc339c89b802249153cebbd"},"renderings":[{"byte_length":21903,"composed":{"byte_length":2676,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd","sha256":"cc2f75fcd8c11dfdcf7d63aa8f74b45b3b4109177da9f20cd6335eddb719811a","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.root"},"crate":{"byte_length":15272,"sha256":"cf60ae7366ecb8b9565507fd1247024683dfd01ad6d22c2db0aeb6f250c1b307"},"entry":{"function":6,"symbol":"f6"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd","sha256":"efbd52088c08a4f27cf9e63b542534ed1c7d4951b37f12c107f9c7c22a3ea44e","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.root"}],"root":"Coverage.Colls.folds","sha256":"e5becaee9b2212301f18ee6232b2c608068ea128bcf13f04d6905f93a8fea4bc","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.root"},{"byte_length":9201,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5","program":{"byte_length":3448,"sha256":"17fa1f466a5d992c3b54152d0a758cd23d38d1b2fda1ef5693cc06700cabe223"},"renderings":[{"byte_length":14771,"composed":{"byte_length":1703,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd","sha256":"1f797b6b6311780ca68ad125a97fb2d7f8d125aff0979f5a45ab326ec677c464","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.root"},"crate":{"byte_length":14251,"sha256":"b07e6313d5996c7f489f6ff31b6047d7bdd30fac8dc0ab06dd2de5c165773171"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd","sha256":"b07366096e6a2743b21a0ac7bcb14ee9dcf002cc78c688baf0c89317d23b6fdb","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.root"}],"root":"Coverage.Colls.iterations","sha256":"3f630e2eb0d97bf90dec9715d7cbe19b72f242f0516403409eae5eae626c282d","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.root"},{"byte_length":30366,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6","program":{"byte_length":32854,"sha256":"54b3c6a08367cfc9abac0716d282f9bfd50bcfffd1c1c0a5693bf6e6407145e2"},"renderings":[{"byte_length":153083,"composed":{"byte_length":2965,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd","sha256":"1bf7811e2e3b02f4544337c179eceea8df4533a1e5d638ec5fb0b619d86fc1b9","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.root"},"crate":{"byte_length":28628,"sha256":"d53a1fc1f9cf1f4e7366e8dcf3dea4f3e858227e7739718651f7bd74ea86be6f"},"entry":{"function":30,"symbol":"f30"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd","sha256":"4419e7e384cee221c98f9c12de73633d872974a51c35bad69c02cf2cc11e3f45","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.root"}],"root":"Coverage.Colls.graphs","sha256":"fb026b62706b883c7648a86ea01b4e9ff252e445c407cb2a33f61a80f7e482fd","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.root"},{"byte_length":19714,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7","program":{"byte_length":17014,"sha256":"bbf596ebb9eca8da32bc60cf81d5aed9f971a815f74ed865dc65f5b5acd7c475"},"renderings":[{"byte_length":82886,"composed":{"byte_length":2743,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd","sha256":"ac1878ff28356b16e32b59fdc7108653251c82b4574fdae2542bc2f650cbeffd","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.root"},"crate":{"byte_length":21438,"sha256":"b7f9d495a96503043078bb00af86cac5d22f3a92bef084ff7b8d41e5a157014e"},"entry":{"function":15,"symbol":"f15"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd","sha256":"464da95763fed857637d57a46e0e91755a1139caa64cd549d9f0fd5c0fac7b7a","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.root"}],"root":"Coverage.Colls.stringGraph","sha256":"09ab2fe1857d522c9d88aadb01a4327828ad81f1140ea055d976f00d00b42187","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.root"},{"byte_length":46481,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8","program":{"byte_length":22112,"sha256":"fc3e6614b68e0f0cf2e4fcd7831a0a8ac5a84ade2a42c08eabcd0d2ddc8abe3f"},"renderings":[{"byte_length":117400,"composed":{"byte_length":6533,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd","sha256":"2634d96edc537c1808e6fde87ccbb3ff90094a21224d0dab13f971e13d38b868","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.root"},"crate":{"byte_length":26043,"sha256":"bf8749dca9d3b9f015f7261c88b60dea927138244a7b63985e6966ad4147d00f"},"entry":{"function":13,"symbol":"f13"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd","sha256":"f9c0efae4c2b0ca1142971facedb30b2758b12b9a892f1458b5487947152a3fc","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.root"}],"root":"Coverage.Colls.keyTypes","sha256":"54aec705697c6331f7d581d2082a393360784bf1e940a899f52d80d588f62a47","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.root"},{"byte_length":9008,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9","program":{"byte_length":3996,"sha256":"c7a7def9b6c20967b79d34ac878ad3bd945e7e8a5f7ba59728f515c9495f8d2c"},"renderings":[{"byte_length":5833,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd","sha256":"126afc446f9597b3c0fb529cbb442f2f442edfa2f6003346965757d6edb22256","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.root"},"crate":{"byte_length":13175,"sha256":"a33503946fd052ef363ed726a5ef3cab80d9029bf159effcb5ca3ee3f234125d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd","sha256":"714e0fd1a343e93ff58b4cf18048c4afe696d7ef1f838338f00de437f290ef41","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.root"}],"root":"Coverage.Colls.literals","sha256":"3f19c13eb9bc99f3fc48258ee07a00bd42f13a98db5c5d0f667234b5775df17b","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.root"},{"byte_length":7971,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10","program":{"byte_length":1746,"sha256":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f"},"renderings":[{"byte_length":13257,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore","sha256":"fe91b1a56fd614b4f4b42f00dd4d904db5a1fc0187fa073aebf00eb0d939ca74","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.root"},"crate":{"byte_length":4767,"sha256":"af030ef915059e74c7c2a7439cdd2f3e87f0ff1e956993fbdc5ad7c010e3c87a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore","sha256":"edf401f40d710ca8e5313c33366dd137b027163e78f7052cba137f41a92f18cd","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.root"},{"byte_length":13254,"composed":{"byte_length":1687,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd","sha256":"7b3f27b9bf185bf69c3d455dc6039633db0e85bcb1ab6270a8d3d18aa5e5d803","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.root"},"crate":{"byte_length":13685,"sha256":"ee0fea13fd0bcd6a8f38ac930442b23f7dcf051f188f1661a7305f3d1e9b69a5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd","sha256":"a5cc548984991c0ac2467cad7008f6ef48daad4e0913ddda42f88f55f8179b3d","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.root"}],"root":"Coverage.Main.natOps","sha256":"a654af137efbe8d3f97dcf47a8674e85b7bd182fc5157a1314fee817630ece07","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.root"},{"byte_length":4871,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11","program":{"byte_length":772,"sha256":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283"},"renderings":[{"byte_length":6973,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore","sha256":"1c2d82aec429919ce5032898185cd7ddab584727f91e700577ad94ce8d9146a1","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.root"},"crate":{"byte_length":4340,"sha256":"1fd22968eef8b396fb2c0032d03104ae83717176fc2919b9876d5a2d7a73e0e9"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore","sha256":"b21f6bc827bfe23e4af60ddfea12734a9b8fa3c9a267eead23ccf9fb5b7ae6d4","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.root"},{"byte_length":6970,"composed":{"byte_length":1687,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd","sha256":"26520eaea9a3a9ce8bf3ad96404b9fc685f9bc87bcabb318a23e8ddf86fa99f9","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.root"},"crate":{"byte_length":13258,"sha256":"35a8c124f4644cb2f70ee53bb1a4766ebb427587204f1c193338913fdb89fd1c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd","sha256":"1041e5e0943992fe5c2a57fb9aeb8a1b9631d0e35573d8e0e6c6186f10c5ddbc","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.root"}],"root":"Coverage.Main.intOps","sha256":"dde2b4fc8c3eb3a795292046628f0c4e171ecb60f3e68a95e5d49716922a8f6d","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.root"},{"byte_length":9164,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12","program":{"byte_length":1624,"sha256":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8"},"renderings":[{"byte_length":8984,"composed":{"byte_length":2728,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore","sha256":"06ba735e0cab64ce73b9f2aa4289a87aeacf4e285dd197a45bd5ed33a8e0a9b5","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.root"},"crate":{"byte_length":4616,"sha256":"9a588c5405d0805e8b71a3c168ecca7d5a7941a10b3707e884a8200765963074"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore","sha256":"15fac79b086f3bac6559db2e0c2feb41e5db8ce590f3ef038da671fac77309ca","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.root"},{"byte_length":8981,"composed":{"byte_length":2720,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd","sha256":"9d97b2c0e59f5b0cdf951edca064f5660f731cf94f63a6d27b72d7ea12979175","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.root"},"crate":{"byte_length":13534,"sha256":"57df19a47ce392a82bdfe801f4e334b35198361a066b7dd6063f679c07bebbe5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd","sha256":"7f21d7fef55862a50382645a104244928536d274bc7136b5a53dfef03a326a3e","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.root"}],"root":"Coverage.Main.shapes","sha256":"0c98bdd1b5c43f4a39c5ef98c0abc997047ad86f630f9276e3bf795b1928441d","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.root"},{"byte_length":6637,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13","program":{"byte_length":1517,"sha256":"43b6eedb7829b3598a29348c532e07d70295631eb2650df5de98d38c3daccb35"},"renderings":[{"byte_length":7237,"composed":{"byte_length":2336,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd","sha256":"f7b54c4e4ede4c77ba528f4595f141fa5c3913f75fcc154289cf2ae1d183f417","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.root"},"crate":{"byte_length":13479,"sha256":"92cec27dd560e7ca0a9f5daa440567b51beb597b69ef56f0678a55f0729d1198"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd","sha256":"3f0808374ddb86f7cb931036b058e580dddd14e892bbfad83004e29233186842","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.root"}],"root":"Coverage.Main.treeTotal","sha256":"e1057527317e1ffaa0b259b01bd31534b1571c59ca55a278996ac931def155b7","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.root"},{"byte_length":6646,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14","program":{"byte_length":1628,"sha256":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656"},"renderings":[{"byte_length":7066,"composed":{"byte_length":3771,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore","sha256":"f664b3981dda8911a645730aa15f5fd14686bbc2f9dc6032bd2ecd8b507ea1db","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.root"},"crate":{"byte_length":4685,"sha256":"73a3e27a1326d458fa653a2a3b7057649a690cfc50441d306fc0456004f12045"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore","sha256":"5448c7fcf866f8da57a361278141d537b1c3d559f39ee9b588ef9168a5b8e59f","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.root"},{"byte_length":7063,"composed":{"byte_length":3757,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd","sha256":"d386ce43cda39a827c4b8c7a0bb7abe1af9e56139cecb9e1f5fb44f361769c6a","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.root"},"crate":{"byte_length":13603,"sha256":"4b8bab9cd36b1b9026cb5992a83d73f087c3a70988458b0e1f559b5e0d15d812"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd","sha256":"8efd91cd37e2eb523985e73399aacfc123de5b031a8ee34f7d367dfad40dd4c0","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.root"}],"root":"Coverage.Main.records","sha256":"c3aac043aac68fdf99843da0ca6296995661d6d975de42ff6a0c58a6d8267cc0","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.root"},{"byte_length":5198,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15","program":{"byte_length":989,"sha256":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9"},"renderings":[{"byte_length":5464,"composed":{"byte_length":2095,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore","sha256":"5e714bf6417b27e1fd6e015d9495ae0f11706703414a907687cff15d1440ef2b","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.root"},"crate":{"byte_length":4417,"sha256":"31aa7ca5ef4e02642fd2c913c93293b098b0b55555ebd261df0377b68180139e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore","sha256":"2fba9e0869c454c869ef425d41fe585f3583feab047d12e51ce373b18b094732","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.root"},{"byte_length":5461,"composed":{"byte_length":2090,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd","sha256":"f0504d93d749a2506f100edaf972b46195e4f3ca6b9b87281b808e102ff1fcde","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.root"},"crate":{"byte_length":13335,"sha256":"44fa70d0448251f98e8fdef3403a5990d6a42239304a80f10cb6830960f7268d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd","sha256":"95f3893e6bb0ef1b3da615ba9751c0097466916f259558ffe0a6cca5cc97464a","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.root"}],"root":"Coverage.Main.options","sha256":"5e56681ac37f6c0da09a87922d5d46962f45772af43d9cd4d6aa7746e364535b","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.root"},{"byte_length":4914,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16","program":{"byte_length":1264,"sha256":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db"},"renderings":[{"byte_length":3982,"composed":{"byte_length":1494,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore","sha256":"1ec1dc64eb78733dae0643b65020ebd2d9801ba2610997b43f67b6e99ddafd58","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.root"},"crate":{"byte_length":4121,"sha256":"84aab30692ec8281062085a409bfc422cd779958bb5c57ef9e59799a768d2501"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore","sha256":"40ebd3a567efeb207027d035c385801538753d07ad7dcce2ad4574672f674cd7","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.root"},{"byte_length":3979,"composed":{"byte_length":1489,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd","sha256":"a563b3c23fc3dcb2c8c322423f5566e6f1a304758888255733e5fcad8f90672c","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.root"},"crate":{"byte_length":13039,"sha256":"6d8bc511c7f98f686d36dbda86f3c9a344a7dcdf69021b28be933128dcaaae78"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd","sha256":"a62758c506548a14dde70849045c47d127af57b15126fd08ec1f79ede7c03bf2","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.root"}],"root":"Coverage.Main.builders","sha256":"ee60e433bc97680ac58c0b3415e59c5dea3d79c8929f36e166ec34d351bfaded","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.root"},{"byte_length":2718,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17","program":{"byte_length":451,"sha256":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f"},"renderings":[{"byte_length":2405,"composed":{"byte_length":1756,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore","sha256":"e99fb154299ee32d8644e5affe6bac23c1353aee309a2aa2e9c0e86c13fd2b6c","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.root"},"crate":{"byte_length":4003,"sha256":"9ee584eed11f7b4efb99475c2a6b35939dc35dd3f263806aec3ae84479b96685"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore","sha256":"9f93bed1eac77aaa3ca3bd9a8a7e199705606ff720e40398f1f51ddca5258016","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.root"},{"byte_length":2402,"composed":{"byte_length":1751,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd","sha256":"f96192b1f715629bdd005cb44daf2ddefe7fe5f89996337768397538e3dcec23","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.root"},"crate":{"byte_length":12921,"sha256":"5e115227d6075aa279430638e5ddb6995ac255db0bd608e107a843bd468dde51"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd","sha256":"5b51e4fcd5bd2beb0d2f4c4f861ec842658bd49ccf48fac1a39d6a453103209c","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.root"}],"root":"Coverage.Main.pairs","sha256":"884b9ac3166543a1a480fbb0d99a9f74552a833cdece54ca2ba3bbfa337acbf6","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.root"},{"byte_length":10732,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18","program":{"byte_length":1873,"sha256":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596"},"renderings":[{"byte_length":12456,"composed":{"byte_length":1740,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore","sha256":"28c228f2b4408add7637254df3e401f12630d1277d76aba4f5c9a0b9e74dc489","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.root"},"crate":{"byte_length":5047,"sha256":"2c1e15094b24d3e5c9a0a06315afc8bf4c60341ba27fd1bf252230213141f5fe"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore","sha256":"f0f364a8086fff5df4288f0aca5764991968b85915bcb9834ac5a761933cdd05","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.root"},{"byte_length":12453,"composed":{"byte_length":1735,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd","sha256":"331e69cbad435fd8f59f867f47d5e61d6241c1a678c43669192b09c512dc29a8","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.root"},"crate":{"byte_length":13965,"sha256":"d46d5bf325126545575bdf8963f16739be5cfb777b38c5233acf8ea8c474a576"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd","sha256":"0836bf8a7de7af1510c422ea43e43a38e19f76d414e244c030b93ddbce0143a6","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.root"}],"root":"Coverage.Main.higher","sha256":"68d3ebd1e9ce8bd045ebc93eb1634347e7f5e2364f136e00237ec401bf186f84","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.root"},{"byte_length":8621,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19","program":{"byte_length":1884,"sha256":"83625b33701e16e8f1014fd8a942ea0ac67a87cefb2ef0f93321f9dbc4bbe943"},"renderings":[{"byte_length":7953,"composed":{"byte_length":1646,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd","sha256":"3f1c3a4b752000be28581fe4a164afb64086ab39e4c51beb00cc8dcbd37b034e","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.root"},"crate":{"byte_length":13607,"sha256":"ffd9d2b0d04acb6874cfa5f2983560a9c24a75e8bbd9f3b2580f84d5a76d7b70"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd","sha256":"0a7cc7d94c946e8615f0a55f63353ef660c85832e3e6b5b15bc83548a1d9457a","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.root"}],"root":"Coverage.Main.mapped","sha256":"1993d9aec62e222d1336a4257cba1111d820811436e6446fbec087e01b986a3b","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.root"},{"byte_length":4983,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20","program":{"byte_length":999,"sha256":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775"},"renderings":[{"byte_length":4204,"composed":{"byte_length":1495,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore","sha256":"8253af593fedb08d78c99b65a10a947fadd53de89f962a56332d36d235f4ee32","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.root"},"crate":{"byte_length":4179,"sha256":"fcb23d2bf0050b3ce8c890495631aa62147613e0a92836750e7c5fd2bb3b60dd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore","sha256":"c63b83146c15afd118af18a6edf1e6b052d34605720b32d577899d64c25ccaab","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.root"},{"byte_length":4201,"composed":{"byte_length":1490,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd","sha256":"819fb4cb11c3b47db5a98777722abc2ccc2266209cf90e76f6fb7e4bfec754a3","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.root"},"crate":{"byte_length":13097,"sha256":"a9de1e3631675db5a707a20a389993cdccd26644956d0ad09e14a25f26b8123f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd","sha256":"992a5cd39d95182550754100ecb06642210af8690474115b5347c57c73b88f2e","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.root"}],"root":"Coverage.Main.parity","sha256":"58943dcfa3ab52f2bdf3e4148b43213ff5f1142b8141b764642e3ef95fd0cea5","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.root"},{"byte_length":6865,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21","program":{"byte_length":2446,"sha256":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d"},"renderings":[{"byte_length":7321,"composed":{"byte_length":1689,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore","sha256":"84fa953b51a122df51ba4f4dc79abe8e6ff140b32f6f453fd730535ea4e5997a","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.root"},"crate":{"byte_length":4385,"sha256":"f4884b32be79ba4577ae148c340ffd389f3ab673bab9b3e0a6151d92a64dac98"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore","sha256":"f1071c942a06fa2989bd7d53d525f1a44675c3ab1104ec1bec0f5ca0608df418","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.root"},{"byte_length":7318,"composed":{"byte_length":1684,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd","sha256":"6b7f5b387c1ee032f0b499ff54e1f8a27a4ab5f237712d26570ff04e08d0a68a","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.root"},"crate":{"byte_length":13303,"sha256":"a09d0b574d6829f8ce94552a82e7770388c891bf3591aef3bdb2aa1c80734465"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd","sha256":"b56adc091e4cd71d045e3c70e5a8d248c47406185bc3de8e9f63e6ab0ff92a2f","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.root"}],"root":"Coverage.Prims.fixedSmall","sha256":"07946fec25c51d667c09f243b7157adca2f414d2676616da4a0aead5619867d9","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.root"},{"byte_length":5605,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22","program":{"byte_length":1770,"sha256":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf"},"renderings":[{"byte_length":5884,"composed":{"byte_length":1697,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore","sha256":"f23a844f88b2a0c0b196bb762aee26d5176b8b7606766a83472bdccab2097862","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.root"},"crate":{"byte_length":4285,"sha256":"9ad73a749e8c19c7038a85d6fd571a10e3024158934cfc17d738099d4257e7c7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore","sha256":"a40b3b67713565517cd7eb9433b0be2b0dade8c72351038bee39b798614356f4","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.root"},{"byte_length":5881,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd","sha256":"a35cd2918688173e74b0fdbb8041c4290cf914c1f6ce19187d972771f063dfda","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.root"},"crate":{"byte_length":13203,"sha256":"2e31d2ad0160635ba75b00c7c15bc08e71de244c902defb8fddb06175c8752e4"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd","sha256":"a083cf7b7887c7e14b78bcdac2430aff96cb49526e743ec48fa3aecbce9c71a1","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.root"}],"root":"Coverage.Prims.fixedMiddle","sha256":"c964b94b1f222773f1aada17af571aeb5a59e7aec55e30a98e00f80bfbba00e6","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.root"},{"byte_length":8520,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23","program":{"byte_length":3324,"sha256":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d"},"renderings":[{"byte_length":8909,"composed":{"byte_length":1898,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore","sha256":"bf8519dae916026012660815810b784ea178a1b208aa16fd18f549cc8bca985a","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.root"},"crate":{"byte_length":4519,"sha256":"e68ee92c192814f24ef49f678d7b0f10e590262eaac0e5a5edafd2716711b54f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore","sha256":"d1ebf2579e50cd471af7d2eb3bde9acac9c3260d885e35a2a3ed2f8e2580bd98","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.root"},{"byte_length":8906,"composed":{"byte_length":1893,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd","sha256":"87ffcd2284bc07703356ef60ebe203e55560a4489e5c0178816652bdf04b2b51","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.root"},"crate":{"byte_length":13437,"sha256":"2f8e04183e437e3b85961d1277fa70eec93662dd97eb0e6e4f0d1d1adfc95798"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd","sha256":"2af8ef16e05d2455c638a487e1d4b73c4817f098684dba99ebf37566da30d106","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.root"}],"root":"Coverage.Prims.fixedWide","sha256":"bc47ef5c49501fa1efbe86502b850b017370f06a5f52ea6906baed55dd22f54e","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.root"},{"byte_length":8690,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24","program":{"byte_length":3494,"sha256":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018"},"renderings":[{"byte_length":9917,"composed":{"byte_length":1900,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore","sha256":"8094d02b256f903685f388e99083b57e7091df5022bdcd663fa34e985f3fbf3b","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.root"},"crate":{"byte_length":4562,"sha256":"f594bce05710d6a44ba4db5022a8759b6ac698bed7b389b7e60d820c93373a21"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore","sha256":"86c68cf1725cbee72359b2bb72275c234bdfc2c8a3aeb31f266124d04b798487","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.root"},{"byte_length":9914,"composed":{"byte_length":1895,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd","sha256":"9b545ec552276be6721035fdd3eca13f7480d9b814fc5e72347af7e899fe9402","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.root"},"crate":{"byte_length":13480,"sha256":"34ed06527b7da3dc36936034ff6c7a0145675fd668c22ed6feafa9a3b418e3bf"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd","sha256":"9f17e18541cc6e479bb37fd57b170dc3a1c2e7b1069aedba30acc7db3ca61007","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.root"}],"root":"Coverage.Prims.bits","sha256":"09465c147273246c491c6b919c4703e42989b3fb4480b92baff2cf7540ca4bca","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.root"},{"byte_length":3336,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25","program":{"byte_length":701,"sha256":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f"},"renderings":[{"byte_length":2932,"composed":{"byte_length":1691,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore","sha256":"f20d19de54bcb73f2f80359f01069e964a2597d2d037be7d3e8117e6a59e5257","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.root"},"crate":{"byte_length":4072,"sha256":"177164e24d17c1a066fd7038902d01c1f8dfd73c69ed8377af3b1c2db5cc1412"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore","sha256":"0f402e373332ae85a115781d4e9e2582f263aa30cf71b554ca73d0eb623472a7","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.root"},{"byte_length":2929,"composed":{"byte_length":1686,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd","sha256":"b9c3afffa8d7a5781b7a13810886315374c5f862ad54183b269ced0297fe1695","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.root"},"crate":{"byte_length":12990,"sha256":"2f5c6ff9563847b0e68f1b9b206d825a78c81a047a954fd54ab509b3bd79de61"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd","sha256":"048faad3c13980a53edbc0f89e15a643430897621d4c56326cc6b83e9839e9c8","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.root"}],"root":"Coverage.Prims.conversions","sha256":"a79055932efffcf929c88bc91b7d2d85c9ed2ced2b3b05b5c422793a6bd1d140","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.root"},{"byte_length":14059,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26","program":{"byte_length":5637,"sha256":"c01fc096fdf4c89e91adb6928197ce32bcb7e42426af0487546f4edc98fd3702"},"renderings":[{"byte_length":16373,"composed":{"byte_length":2029,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd","sha256":"13af0b6ae81feac5daa2bc00f76abbf87ccb69b7dea7c2c7c8f86ef9749e9d96","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.root"},"crate":{"byte_length":14078,"sha256":"64aebfe2ed7b706cea90fb4e7ee5b7630cb43e480aa43f74e6fe9af4c4142601"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd","sha256":"89fbea3cee495254e7347ebe6988ec09bbf5d808039940c8094cd2915ebd2896","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.root"}],"root":"Coverage.Prims.sequences","sha256":"0bd5e9affa68f94728bf2ff2a621b60833a106c3d5239020f765f7c386ce65b2","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.root"},{"byte_length":3214,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27","program":{"byte_length":686,"sha256":"6fc888e3f1e9cf5a37f9f68cc01d1a1ff94cc30a552b384155cb811a9d13a526"},"renderings":[{"byte_length":2818,"composed":{"byte_length":1501,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd","sha256":"40924a4f0e13ff66d9be13e8b43a3acae04750ff8065e86ab906157b9544ad7f","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.root"},"crate":{"byte_length":12956,"sha256":"11b389208a11b50ffd36526d42d3b92b00669a700b8875d53bef97f92efd7c8a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd","sha256":"c3b055b7a3382a0898fce7f736aca5bd5c9fa966c14c896d5d255dc8034e8e3c","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.root"}],"root":"Coverage.Prims.decimals","sha256":"f7f7f28872c2a8d9889d8ca8ff542269a29642e82ebffb154dea121680fc1a29","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.root"},{"byte_length":3046,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28","program":{"byte_length":529,"sha256":"a2d6d8d674af0354e10f236b2b6dcab2579a6ff9db94b3a696fb2c0679df7372"},"renderings":[{"byte_length":2791,"composed":{"byte_length":1686,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd","sha256":"1f94483e1442d1827bfb306ebd938ec190e52b0c80061c0d61cc8011a5ed0ea0","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.root"},"crate":{"byte_length":12933,"sha256":"d0b018bf12ebfd193d45370c9a299fe8448a30481f706e8bcf5a756c78b6359e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd","sha256":"fcefb2ac0c0666a3997f9527f64a583bd1e550983d1c7cc1f31dc1369c981672","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.root"}],"root":"Coverage.Prims.formats","sha256":"12359f0159434ecfdcf4ba04f033866b5a72832f06b61c2417e50c437bf55bc4","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.root"},{"byte_length":11694,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29","program":{"byte_length":4118,"sha256":"54080023d9f656975c8d23e285159c2f80184d9c38941ebdeb9b115207eaea0f"},"renderings":[{"byte_length":14927,"composed":{"byte_length":1712,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd","sha256":"d557333d41e93807e456e432f4841400ae29c4f92c2b6d334cec875453250cdd","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.root"},"crate":{"byte_length":13981,"sha256":"e4aba3ad1a43ca155a88aec769bcc47479e9e5091944214f2a469ca7b68e7d9c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd","sha256":"2c4c5160d758f11b1f7dec18c1520cc0f7536c37744e504c84cad05924f75a27","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.root"}],"root":"Coverage.Prims.text","sha256":"9d762bb3183931a74cc8f4c240b22b9dc5c5664b3ee02d3ecdffef8f527bb9ec","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.root"},{"byte_length":8119,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30","program":{"byte_length":1887,"sha256":"023b87970dcc71c4e8be45aa676e75b9db5753e3da5f8ac416891d595dca8b41"},"renderings":[{"byte_length":7705,"composed":{"byte_length":2793,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd","sha256":"cc80880f424636418515aeeed1e9fa97baffe9a3e930adb990af12e4d1a92737","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.root"},"crate":{"byte_length":13423,"sha256":"7b6d66e610ef88eda88943c88c3322a2c1bf519e41049d16afe53d039cd7033a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd","sha256":"e25f62db5dbc7a6b49f1001ed8c96462d379afde7a161bcdad95222128f7c531","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.root"}],"root":"Coverage.RecRoots.roseTotal","sha256":"448333ca274e3ff20bd3547e96cbcbbb840de4c7c4aa7b681ed2c81ebc4e83a5","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.root"},{"byte_length":12655,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31","program":{"byte_length":2687,"sha256":"0b283960a85e885aef98cffde5a37a5840fe6905cb960332eb57755a9f588e7b"},"renderings":[{"byte_length":15589,"composed":{"byte_length":4165,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd","sha256":"b9471c54fcd58270f3948989130d81e2b74ed32c93b062744bc8adddbe8335f4","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.root"},"crate":{"byte_length":14339,"sha256":"3c3d755be5666a0def8f507f530fa6c1b75ce74ae299363b69cdd7f19b598674"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd","sha256":"52211fc39045577478484827fe2ffd6420834befbb418ecc7d2c2787ad9c36e9","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.root"}],"root":"Coverage.RecRoots.syntaxTotal","sha256":"a5ab58f17283c3e4b9c0738fd2530ec91bb600a34e7ed66c89b4b41fb701756d","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.root"},{"byte_length":17232,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32","program":{"byte_length":3120,"sha256":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d"},"renderings":[{"byte_length":19234,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore","sha256":"d64eb27716f1706b08a478d0ea688d662c98fad37c391c3f566e1b554b058c7f","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.root"},"crate":{"byte_length":5179,"sha256":"595b9659cce79629fb199be239edeba9f908e19c5863ec7fc71ddbea1ca6b16d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore","sha256":"299a8e60e31250a605d9157a3bc705bacc36f9f4d818ab831cdcc850693ac089","target":"rust-core","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.root"},{"byte_length":19231,"composed":{"byte_length":1687,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd","sha256":"a8260359e6842146e0e37e3bbd25d30aec3e29d3b8c041831a19ead2cfbfa425","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.root"},"crate":{"byte_length":14097,"sha256":"5bde24114f0f63beca1277bf6cd06ea203bd89352590534d5844f6639bbeb943"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd","sha256":"025789ce61c2fb28f6d19b5475f235681a08f19fbb2ea4e68ce0e12939c38de5","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.root"}],"root":"Coverage.RecRoots.wellFounded","sha256":"179e94c9f3f93fa7a686a4d42a5e3f12a42d8f94c4ed8f2b5a33649ef89d87fe","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.root"},{"byte_length":15632,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33","program":{"byte_length":2757,"sha256":"696084d3a568dde72c41261e20eb3e6dfc3055d9f56ddb2a9980a5b1eb061f89"},"renderings":[{"byte_length":13569,"composed":{"byte_length":2380,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd","sha256":"722b40cd054d97c5e3eaf1dd7b75d63ca1b9ba1341da342addf9c2636b2752c9","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd.root"},"crate":{"byte_length":14222,"sha256":"85ddef0fbc268b258386fd1d552610372cf646edbeda718288d5bc4554a58de0"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd","sha256":"c9346b2d91265923067b800cb139432d9a262e343bc900cc75edbb3c3361942a","target":"rust-std","theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.root"}],"root":"Coverage.RecRoots.rewrite","sha256":"886c89f5c5879c15c48f3ea5c5a77888885cbd96f01e568a9e63a23eca851137","targets":["rust-std"],"theorem":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.root"}],"spec":"lexlean/preservation/1"} diff --git a/examples/production/expected/verify/probe/LexLeanProbe.P0873d7adc0406a004403264fdb2d9dea.lean b/examples/production-coverage/expected/verify/probe/LexLeanProbe.Pc2030093ffdb7a3e8068874ff75532ac.lean similarity index 100% rename from examples/production/expected/verify/probe/LexLeanProbe.P0873d7adc0406a004403264fdb2d9dea.lean rename to examples/production-coverage/expected/verify/probe/LexLeanProbe.Pc2030093ffdb7a3e8068874ff75532ac.lean diff --git a/examples/production-coverage/expected/verify/probe/process.json b/examples/production-coverage/expected/verify/probe/process.json index 453238160..05ce0fac0 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.Pe371869b9b3ca32388daafe8348a6ca5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pe371869b9b3ca32388daafe8348a6ca5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pc2030093ffdb7a3e8068874ff75532ac.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pc2030093ffdb7a3e8068874ff75532ac","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Laws.json b/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..b6b4cff9f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Laws.olean","$STAGING/lean-src/LexLeanRuntime/Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.json new file mode 100644 index 000000000..cf3212d00 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.json new file mode 100644 index 000000000..5abcef1ab --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.json new file mode 100644 index 000000000..c772e0c60 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.json new file mode 100644 index 000000000..e7f7baccc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.json new file mode 100644 index 000000000..3e310459a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.json new file mode 100644 index 000000000..8886bb6b7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.json new file mode 100644 index 000000000..0d8024d0d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.json new file mode 100644 index 000000000..aad6bd369 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.json new file mode 100644 index 000000000..e1e6a85a3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.json new file mode 100644 index 000000000..9d0c1660e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.json new file mode 100644 index 000000000..4fd2f9c93 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.json new file mode 100644 index 000000000..ae5ca5ded --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.json new file mode 100644 index 000000000..350b25dcd --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.json new file mode 100644 index 000000000..f1835e3f8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.json new file mode 100644 index 000000000..7cabd0c59 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.json new file mode 100644 index 000000000..dfd5fce66 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.json new file mode 100644 index 000000000..514828629 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.json new file mode 100644 index 000000000..ce9bfbe8c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.json new file mode 100644 index 000000000..522103d08 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.json new file mode 100644 index 000000000..77b650e37 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.json new file mode 100644 index 000000000..cc5df8b2f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.json new file mode 100644 index 000000000..e2c723a86 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.json new file mode 100644 index 000000000..a452248fc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R13.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.json new file mode 100644 index 000000000..dc2622ba3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.json new file mode 100644 index 000000000..196541bb5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.json new file mode 100644 index 000000000..a1a909678 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.json new file mode 100644 index 000000000..6eec573c1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.json new file mode 100644 index 000000000..57114ad35 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.json new file mode 100644 index 000000000..20fd133bc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.json new file mode 100644 index 000000000..2b054c0af --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.json new file mode 100644 index 000000000..d4539e8e9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.json new file mode 100644 index 000000000..d7692a326 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.json new file mode 100644 index 000000000..6459810b4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.json new file mode 100644 index 000000000..5ce9c90ed --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.json new file mode 100644 index 000000000..3a6c1e4a7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.json new file mode 100644 index 000000000..3b42509d9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.json new file mode 100644 index 000000000..282522312 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.json new file mode 100644 index 000000000..b6de7c60b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.json new file mode 100644 index 000000000..9f52f51c8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.json new file mode 100644 index 000000000..1f4b170da --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.json new file mode 100644 index 000000000..51c3f7b19 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.json new file mode 100644 index 000000000..a467bd24e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.json new file mode 100644 index 000000000..58c665d47 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.json new file mode 100644 index 000000000..5683dbdad --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.json new file mode 100644 index 000000000..4401e9baa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.json new file mode 100644 index 000000000..8e0e4e879 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.json new file mode 100644 index 000000000..16750b810 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.json new file mode 100644 index 000000000..665a30d6c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.json new file mode 100644 index 000000000..450974d43 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.json new file mode 100644 index 000000000..065de7270 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.json new file mode 100644 index 000000000..915b4218f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R19.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.json new file mode 100644 index 000000000..0ff727753 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.json new file mode 100644 index 000000000..476245cdd --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.json new file mode 100644 index 000000000..d9af26b7c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.json new file mode 100644 index 000000000..6d56a5e3e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.json new file mode 100644 index 000000000..5b4c7edbb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.json new file mode 100644 index 000000000..67789f1fa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.json new file mode 100644 index 000000000..2e28113e6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.json new file mode 100644 index 000000000..aecf7ee59 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.json new file mode 100644 index 000000000..ecb47eb82 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.json new file mode 100644 index 000000000..be97de402 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.json new file mode 100644 index 000000000..982496110 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.json new file mode 100644 index 000000000..1bc622427 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.json new file mode 100644 index 000000000..fd00fb9c1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.json new file mode 100644 index 000000000..33bc6a8a9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.json new file mode 100644 index 000000000..c61507ab5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.json new file mode 100644 index 000000000..dd455d33f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.json new file mode 100644 index 000000000..da2428091 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.json new file mode 100644 index 000000000..f3ba58a95 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.json new file mode 100644 index 000000000..c342297ea --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.json new file mode 100644 index 000000000..5618c5248 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.json new file mode 100644 index 000000000..47c37c704 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.json new file mode 100644 index 000000000..8c5e366b2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.json new file mode 100644 index 000000000..d045943f3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.json new file mode 100644 index 000000000..26ffae92e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.json new file mode 100644 index 000000000..dda51ddb1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.json new file mode 100644 index 000000000..5ae95c0b0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.json new file mode 100644 index 000000000..e32d9fe3c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.json new file mode 100644 index 000000000..d95a1d50d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.json new file mode 100644 index 000000000..e6e8a490e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.json new file mode 100644 index 000000000..8f8ecd3b1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.json new file mode 100644 index 000000000..b1e5fca1b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.json new file mode 100644 index 000000000..f9aa4e99a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.json new file mode 100644 index 000000000..83a662ebc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.json new file mode 100644 index 000000000..c06e12361 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.json new file mode 100644 index 000000000..2f5b770b9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.json new file mode 100644 index 000000000..659396d0b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R26.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.json new file mode 100644 index 000000000..ea4a0b886 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.json new file mode 100644 index 000000000..ecf5dd459 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.json new file mode 100644 index 000000000..fbb03fd41 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R27.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.json new file mode 100644 index 000000000..5952a20f2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.json new file mode 100644 index 000000000..8f6bf5fc8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.json new file mode 100644 index 000000000..a3db79220 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R28.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.json new file mode 100644 index 000000000..1f8ad8ca3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.json new file mode 100644 index 000000000..66f00c321 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.json new file mode 100644 index 000000000..1edcb6e8c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R29.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.json new file mode 100644 index 000000000..936cdeb33 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.json new file mode 100644 index 000000000..67c1fb79e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.json new file mode 100644 index 000000000..ddba8f8fa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.json new file mode 100644 index 000000000..22e6c2b74 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.json new file mode 100644 index 000000000..6e3bf6ec2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.json new file mode 100644 index 000000000..7ca560c49 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.json new file mode 100644 index 000000000..755f3ac05 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.json new file mode 100644 index 000000000..d82ddbcd9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.json new file mode 100644 index 000000000..f238b5046 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.json new file mode 100644 index 000000000..12e6a90e7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.json new file mode 100644 index 000000000..920de4ee4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.json new file mode 100644 index 000000000..b8d252d5b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.json new file mode 100644 index 000000000..9d4cda1b0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.json new file mode 100644 index 000000000..c61228804 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.json new file mode 100644 index 000000000..f351c921d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd.json new file mode 100644 index 000000000..193a5c5a4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.json new file mode 100644 index 000000000..8c53ff157 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R33.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.json new file mode 100644 index 000000000..a8c5665e0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.json new file mode 100644 index 000000000..0db3d280a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.json new file mode 100644 index 000000000..41d043d60 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.json new file mode 100644 index 000000000..58856af88 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.json new file mode 100644 index 000000000..8eac69be1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.json new file mode 100644 index 000000000..1f38cff77 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R5.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.json new file mode 100644 index 000000000..c3f9e9dfb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.json new file mode 100644 index 000000000..382c284aa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.json new file mode 100644 index 000000000..176d7e94d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.json new file mode 100644 index 000000000..916952a28 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.json new file mode 100644 index 000000000..691591483 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.json new file mode 100644 index 000000000..b52d802b5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.json new file mode 100644 index 000000000..d3fbb6296 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.json new file mode 100644 index 000000000..bd345ec1c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.json new file mode 100644 index 000000000..459c60b26 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.json new file mode 100644 index 000000000..67c1c9bf1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.json new file mode 100644 index 000000000..570bb0475 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.json new file mode 100644 index 000000000..8e3daefd2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R9.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.json new file mode 100644 index 000000000..43439c73a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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 deleted file mode 100644 index 1f907930a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 827305ed5..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 065ecba76..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f39b0245c..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c25833695..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8cca8231f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3edd42aa4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5a3e05b6a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e21553d94..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1f3a25fb7..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 11c31dd01..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1f437f9e9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b3517a8ba..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a48cda192..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3733dadb9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2713ce3be..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index baef0c188..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 20b184099..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0ee8a7b9a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f5220037b..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index bb6262db6..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index fb66a24b4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8d324f701..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 906e39d89..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 15372c952..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ef5d370f4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 94cd330c3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b4fc16946..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 959f0f7c2..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 467498235..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 343d873bd..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b96e1487a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9f0ff9589..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 54399eb1a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a1140eb3a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8ab39e096..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 37040abd8..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0fdc79ac2..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4dacba5fa..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b069b1075..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0645a2508..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6f055c418..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d28d80d59..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 456f3ed87..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e19bd7fda..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5bcda7edf..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f2a920042..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 911fa47d3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a9a41113b..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2405b0bcf..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 651b5a52a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b9ad31841..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2b99ce184..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 852dcfcee..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9d9f7b353..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2446ea638..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d4bf0b2c5..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1daba52aa..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c1729e02d..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1837506c7..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c62d0cbe7..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f032d5052..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d9c3e584d..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e8c05cdb7..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9daf8e9ab..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 06ab43d44..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2349379b1..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2943588b4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5683385e3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a373cc41f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index bdda80501..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d376ab6c6..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2a8305481..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9a4d66902..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 860b40610..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0b935f626..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 77bbca3cd..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0222aea3f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 880484990..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 30d2b0680..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 57b66ca25..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 02a077238..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 69db0f408..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 87c9faa26..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index cd6688664..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c3e2b3bf1..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2221d9702..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index fc8f8b514..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 35925d25c..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4a3866822..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9b44bc674..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6f82ad093..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9eec24c6d..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c8ab8b79a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 74debcbcb..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index fe731191a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e34af454d..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 154f66438..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e3efaebc5..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 236421e4c..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 052bf239f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8712176f8..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 88fd9474a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0024eb992..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 25d1fb1d9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a8ab3cdeb..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 20870aa1f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index eae4a8010..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 42ac0216f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8c4cabf56..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 808dbbcd2..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9510aa9f2..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3ccb0ff93..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 26d14d466..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 75cc6d00c..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c36facad7..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 202669d15..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6d7ce193e..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8b7e82518..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c21656d77..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 25377223f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c6543c430..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 14725a72a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2904f9693..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 46742a0b2..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 34f97d85f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7639d79d3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9f33f72a4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3ae19f932..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8dba86ba9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 01e621fa4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9f6a12e00..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Laws.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..650bb0ba4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Laws"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","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 99e2cb899..ab927ac35 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'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"} +{"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.Cc2030093ffdb7a3e8068874ff75532ac.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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":"221c19fe489d70fefb4c8dba2d3c2ee30e06d706b1efcfac42835a8b71159427","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.json new file mode 100644 index 000000000..759d90551 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.json new file mode 100644 index 000000000..d3a22fbd4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R0.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.json new file mode 100644 index 000000000..729137ab5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.json new file mode 100644 index 000000000..68dbc9c37 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.json new file mode 100644 index 000000000..f941e0117 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R1.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.json new file mode 100644 index 000000000..b034529b1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.json new file mode 100644 index 000000000..0dc1b6656 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.json new file mode 100644 index 000000000..dae684a19 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.json new file mode 100644 index 000000000..d0241fd8d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.json new file mode 100644 index 000000000..3e9dc2729 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R10.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.json new file mode 100644 index 000000000..00361f78a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R10.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R10","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.json new file mode 100644 index 000000000..c63e3ebbb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.json new file mode 100644 index 000000000..35e016100 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.json new file mode 100644 index 000000000..199d73130 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.json new file mode 100644 index 000000000..904f1a88a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R11.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.json new file mode 100644 index 000000000..d0232c66d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R11.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R11","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.json new file mode 100644 index 000000000..3a2218748 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.json new file mode 100644 index 000000000..4081b00ee --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.json new file mode 100644 index 000000000..1e7cfacb1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.json new file mode 100644 index 000000000..5d3f95e6f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R12.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.json new file mode 100644 index 000000000..122ac3641 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R12.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R12","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.json new file mode 100644 index 000000000..663027802 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.json new file mode 100644 index 000000000..3e0ca3584 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R13.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.json new file mode 100644 index 000000000..b77834d0b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R13.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R13","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.json new file mode 100644 index 000000000..289a75e75 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.json new file mode 100644 index 000000000..0f2326621 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.json new file mode 100644 index 000000000..321c66c62 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.json new file mode 100644 index 000000000..7960739d8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R14.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.json new file mode 100644 index 000000000..7cafe7e99 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R14.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R14","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.json new file mode 100644 index 000000000..b93e44fb6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.json new file mode 100644 index 000000000..5c1b4d539 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.json new file mode 100644 index 000000000..487338bc0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.json new file mode 100644 index 000000000..46f6e75da --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R15.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.json new file mode 100644 index 000000000..8524a9dfb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R15.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R15","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.json new file mode 100644 index 000000000..d6b758898 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.json new file mode 100644 index 000000000..de71f4eb7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.json new file mode 100644 index 000000000..89be9b3ea --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.json new file mode 100644 index 000000000..c8c10ab72 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R16.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.json new file mode 100644 index 000000000..7edb1b4c0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R16.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R16","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.json new file mode 100644 index 000000000..bc0398afd --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.json new file mode 100644 index 000000000..760993825 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.json new file mode 100644 index 000000000..106543c34 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.json new file mode 100644 index 000000000..fc86b8dd4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R17.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.json new file mode 100644 index 000000000..849965337 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R17.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R17","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.json new file mode 100644 index 000000000..655089032 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.json new file mode 100644 index 000000000..bd6eaa867 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.json new file mode 100644 index 000000000..4314f1047 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.json new file mode 100644 index 000000000..6c8fa5d4d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R18.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.json new file mode 100644 index 000000000..016707f22 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R18.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R18","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.json new file mode 100644 index 000000000..7f921c8af --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.json new file mode 100644 index 000000000..c0138c50a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R19.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.json new file mode 100644 index 000000000..71d709e3c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R19.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R19","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.json new file mode 100644 index 000000000..4e8d06192 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.json new file mode 100644 index 000000000..d984067c9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R2.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.json new file mode 100644 index 000000000..cf63859e2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.json new file mode 100644 index 000000000..23a8c05fa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.json new file mode 100644 index 000000000..3110ea80d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.json new file mode 100644 index 000000000..c739ecd1c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.json new file mode 100644 index 000000000..234f8fa8e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R20.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.json new file mode 100644 index 000000000..17868525d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R20.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R20","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.json new file mode 100644 index 000000000..51c763522 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.json new file mode 100644 index 000000000..2732c9523 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.json new file mode 100644 index 000000000..a67b6a169 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.json new file mode 100644 index 000000000..9c371372c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R21.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.json new file mode 100644 index 000000000..81e2a86ce --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R21.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R21","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.json new file mode 100644 index 000000000..25e049357 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.json new file mode 100644 index 000000000..8b57c9be1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.json new file mode 100644 index 000000000..ae8075faf --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.json new file mode 100644 index 000000000..6d46863bb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R22.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.json new file mode 100644 index 000000000..871c0e7c2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R22.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R22","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.json new file mode 100644 index 000000000..c1c3e5743 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.json new file mode 100644 index 000000000..92a9b61aa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.json new file mode 100644 index 000000000..fc9d2fcbd --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.json new file mode 100644 index 000000000..292264df5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R23.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.json new file mode 100644 index 000000000..b00d55d55 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R23.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R23","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.json new file mode 100644 index 000000000..c04df0920 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.json new file mode 100644 index 000000000..61df00a07 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.json new file mode 100644 index 000000000..043c1a752 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.json new file mode 100644 index 000000000..10901b9e0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R24.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.json new file mode 100644 index 000000000..46ebe86e3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R24.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R24","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.json new file mode 100644 index 000000000..54d3054df --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.json new file mode 100644 index 000000000..3519d6aeb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.json new file mode 100644 index 000000000..e9882816e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.json new file mode 100644 index 000000000..48d366664 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R25.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.json new file mode 100644 index 000000000..92fcced9f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R25.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R25","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.json new file mode 100644 index 000000000..091dfafa9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.json new file mode 100644 index 000000000..4324773a8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R26.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.json new file mode 100644 index 000000000..740d7a1bf --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R26.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R26","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.json new file mode 100644 index 000000000..51705cf45 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.json new file mode 100644 index 000000000..ce196e891 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R27.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.json new file mode 100644 index 000000000..4f85d3acc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R27.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R27","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.json new file mode 100644 index 000000000..b67610488 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.json new file mode 100644 index 000000000..06c2a1d3d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R28.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.json new file mode 100644 index 000000000..e2cac1966 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R28.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R28","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.json new file mode 100644 index 000000000..741056ba8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.json new file mode 100644 index 000000000..292118f6b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R29.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.json new file mode 100644 index 000000000..6b064e62b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R29.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R29","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.json new file mode 100644 index 000000000..c59e5780c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.json new file mode 100644 index 000000000..7c9292a5f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R3.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.json new file mode 100644 index 000000000..1213c055d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.json new file mode 100644 index 000000000..be001a371 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.json new file mode 100644 index 000000000..e79cc81da --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R30.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.json new file mode 100644 index 000000000..1837659a3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R30.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R30","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.json new file mode 100644 index 000000000..1d0b3c9bf --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.json new file mode 100644 index 000000000..0bfb1b172 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R31.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.json new file mode 100644 index 000000000..89c5f1cde --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R31.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R31","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.json new file mode 100644 index 000000000..c088a10f5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.json new file mode 100644 index 000000000..0190531c5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.json new file mode 100644 index 000000000..b95af09fa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.json new file mode 100644 index 000000000..f477aafff --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R32.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.json new file mode 100644 index 000000000..f308e6ed0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R32.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R32","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd.json new file mode 100644 index 000000000..d89883bc8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.json new file mode 100644 index 000000000..a670b9c4a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R33.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.json new file mode 100644 index 000000000..0c13a540e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R33.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R33","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.json new file mode 100644 index 000000000..6868d6a65 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.json new file mode 100644 index 000000000..9f34cc08e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R4.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.json new file mode 100644 index 000000000..1c2588ae9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.json new file mode 100644 index 000000000..fcb444b87 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.json new file mode 100644 index 000000000..0840a8039 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R5.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.json new file mode 100644 index 000000000..684a58b28 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.json new file mode 100644 index 000000000..48299e7e0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.json new file mode 100644 index 000000000..6a477feeb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R6.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.json new file mode 100644 index 000000000..18bd2089d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.json new file mode 100644 index 000000000..55a492229 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.json new file mode 100644 index 000000000..f71b82e62 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R7.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.json new file mode 100644 index 000000000..c87247fad --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.json new file mode 100644 index 000000000..e6b5b9b21 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.json new file mode 100644 index 000000000..a20632337 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R8.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.json new file mode 100644 index 000000000..33c246245 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.json new file mode 100644 index 000000000..3815a8fe7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.json new file mode 100644 index 000000000..7a0531599 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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.Cc2030093ffdb7a3e8068874ff75532ac.R9.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.json new file mode 100644 index 000000000..97e1081ec --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.R9.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9.olean","$STAGING/preserve-src/LexLeanPreserve/Cc2030093ffdb7a3e8068874ff75532ac/R9.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cc2030093ffdb7a3e8068874ff75532ac.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 deleted file mode 100644 index b6cc7052c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8cf3837ea..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index dbbb353c3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a89bd3a41..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 868346a04..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9eebed3b7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 477b5407d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9d22e2abc..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e21e09150..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e39d50810..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f59d102a0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9dd58452f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c8c3811b7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5a457f80a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2ba9087a3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8c41b1c8f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3fa4d8d51..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 49370a631..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2e44f6bb3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a627c79b0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5f9db9a5f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0632ce12b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 00460db55..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d3b861854..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4aa7f4bf5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6b22cc1dc..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 89393a4b5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 27b9f8a68..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0c7440d81..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 104d9f904..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3b8771d6d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index df036abe5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0f49c9722..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c7dca51d4..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9ee0f1968..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index aa20580d5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 203ad6fa6..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1ae4ff287..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a7a1603e8..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7bd7ebb3c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c6164b5d7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6bf53cc20..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3013bb5e0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5fe1e27ce..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b47b1bd37..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 075d7f70c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index aa3a758a8..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e157654b9..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 333db71b5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3188aa749..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 11e33da79..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8ed0e15e5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index df52f78ea..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b49a4311f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4d9c6106a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 164181b44..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2efee2c9f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0aaeaf537..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a71958e27..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9978170e7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f27b543f9..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d749e73dc..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 26c999f28..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0b0779fcd..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9543ee42c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1d39a7eb2..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ca695a680..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index bc539079f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2d2f743bc..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 84cdbc981..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 47bfe8665..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d2e2e6505..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c77367642..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 808f7dcd0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7b486979a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5643f8cc3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index aabf5cb49..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2d56d2a53..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 46eb86c60..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 429604ab6..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 58c9a68d4..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7c87b1f4b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index eed1a3a41..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index db8f0fc9a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9c54b53c8..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 72a8047ac..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9bfccbe4c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b28ab2199..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2630b75db..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0748cb20f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e6459e23c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b81ca4074..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 03f9ea70a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c5c4155ba..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9b2ca0fe6..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d70dcbe5e..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index df449f73b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 19b9d1ec2..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a801ea18f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 61537d70e..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d0f23aa84..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 59e3d4e35..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9b6d3e713..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3cfbe91ed..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 309aadeff..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a5692785d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 82599ad74..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3a71f884c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8be17802b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 192b2a378..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 696ea1bba..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index af4a984f6..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3499a6eba..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6aa719e08..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4ba3e00b0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a8f650604..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e4fd02894..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7c8acdaed..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 92db90641..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 18926f778..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e58af0b1f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7c02857a6..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2f7db1374..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d41e2b5cb..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 010f357bb..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 83eefb9bb..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9b66ba757..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6a0a2ae17..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0bda081e7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f5ca63256..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 34811000d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 795982def..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.json +++ /dev/null @@ -1 +0,0 @@ -{"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/lexlean.lock b/examples/production-coverage/lexlean.lock index 8d745b01a..90637610b 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 a8a697b75..0853288a6 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":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"} +{"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":272,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":357,"byte_start":272,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624,"byte_start":357,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":730,"byte_start":624,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":856,"byte_start":730,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1021,"byte_start":856,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4104,"byte_start":1021,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4517,"byte_start":4104,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4595,"byte_start":4517,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4677,"byte_start":4595,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4700,"byte_start":4677,"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/manifest.json b/examples/production/expected/build/manifest.json index 07f6ff200..d8c35a1a5 100644 --- a/examples/production/expected/build/manifest.json +++ b/examples/production/expected/build/manifest.json @@ -1 +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"} +{"build_id":"91f6449515ab73034823ae1d62387d0d64b1408dac7d7ae9168766437577e2a8","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"67e7ed9485aa84b31604ba491c8696781c7d721237fc4b3e8c962a994eb5152e"},{"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":9026,"kind":"coverage","path":"coverage/Production/Kernel.coverage.json","sha256":"3ea97485fa3e255128c0e407a5c9bb0e24b55a2ba50111da3ce3e49a884141bd"},{"byte_length":9294,"kind":"coverage","path":"coverage/Production/Main.coverage.json","sha256":"eeb4778546afa3d37c1910a3fa60ecac720f3c72cccd005161392751d7da275e"},{"byte_length":4700,"kind":"lean","path":"modules/Production/Kernel.lean","sha256":"fd63ab40fb52b7c19c13e75eeef1374c4193955b214637e3096fa168c90bd3a9"},{"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":3900,"kind":"map","path":"maps/Production/Kernel.map.json","sha256":"1fedc1663f75d9f50ef891a1a7847046aa9e3901b78956818264d78ab105aecf"},{"byte_length":3571,"kind":"map","path":"maps/Production/Main.map.json","sha256":"79cb8cd125eb321dd962a7ae7e2ad156a71a45b967979533d46a258a653fc2b2"},{"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":"3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419","source_id":"03a3d046988bedbb49aabdf06df1a65bc7a8676999b995a279b8e9e68dec9c64","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 b12ff7830..801e86ce9 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Production/Kernel.lean"},{"id":1,"kind":"tex","path":"modules/Production/Kernel.tex"}],"mappings":[{"artifact":0,"gen_end":272,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1946,"src_start":0},{"artifact":0,"gen_end":357,"gen_start":272,"node":1,"role":"declaration","source":0,"src_end":270,"src_start":115},{"artifact":0,"gen_end":624,"gen_start":357,"node":2,"role":"declaration","source":0,"src_end":549,"src_start":272},{"artifact":0,"gen_end":730,"gen_start":624,"node":3,"role":"declaration","source":0,"src_end":711,"src_start":551},{"artifact":0,"gen_end":856,"gen_start":730,"node":4,"role":"declaration","source":0,"src_end":929,"src_start":713},{"artifact":0,"gen_end":1021,"gen_start":856,"node":5,"role":"declaration","source":0,"src_end":1158,"src_start":931},{"artifact":0,"gen_end":4104,"gen_start":1021,"node":6,"role":"declaration","source":0,"src_end":1389,"src_start":1160},{"artifact":0,"gen_end":4517,"gen_start":4104,"node":7,"role":"declaration","source":0,"src_end":1699,"src_start":1391},{"artifact":0,"gen_end":4595,"gen_start":4517,"node":8,"role":"declaration","source":0,"src_end":1787,"src_start":1701},{"artifact":0,"gen_end":4677,"gen_start":4595,"node":9,"role":"declaration","source":0,"src_end":1910,"src_start":1789},{"artifact":0,"gen_end":4700,"gen_start":4677,"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":"3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419","source_id":"03a3d046988bedbb49aabdf06df1a65bc7a8676999b995a279b8e9e68dec9c64","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 afc56551f..a278e1a5b 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":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"} +{"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":"3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419","source_id":"03a3d046988bedbb49aabdf06df1a65bc7a8676999b995a279b8e9e68dec9c64","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 c0285a9d8..c09e91ac3 100644 --- a/examples/production/expected/build/modules/Production/Kernel.lean +++ b/examples/production/expected/build/modules/Production/Kernel.lean @@ -1,6 +1,7 @@ module public import Init public import LexLeanRuntime.Portable +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -23,7 +24,9 @@ public inductive Shape where public theorem countdown_decreases (number : Nat) (_steps : Nat) : (((Nat.blt (number) (2)) = false) -> ((LexLeanRuntime.subtract (number) (2) : Nat) < number)) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def countdown (number : Nat) (steps : Nat) : Nat := (match (generalizing := false) __decrease0 : (Nat.blt (number) (2)) with | true => steps | false => countdown ((LexLeanRuntime.subtract (number) (2) : Nat)) ((steps + 1))) 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 deleted file mode 100644 index 36a6ebf69..000000000 --- a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.process.json deleted file mode 100644 index 22b0701c5..000000000 --- a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.process.json deleted file mode 100644 index e13f7a041..000000000 --- a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A0873d7adc0406a004403264fdb2d9dea.Production.Main.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.process.json deleted file mode 100644 index 72d10e27b..000000000 --- a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.lean b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Collections.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.lean rename to examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Collections.lean diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Collections.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..f73481283 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.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.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Laws.lean b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Laws.lean new file mode 100644 index 000000000..3d95b8987 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Laws.lean @@ -0,0 +1,82 @@ +module +import LexLeanRuntime.Laws +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1.else_eq +#print axioms LexLeanCollections.lessThan.eq_1 +#print axioms LexLeanCollections.listFold.eq_1 +#print axioms LexLeanLaws.append_list +#print axioms LexLeanLaws.length_list +#print axioms LexLeanLaws.lessThan_int +#print axioms LexLeanLaws.lessThan_int16 +#print axioms LexLeanLaws.lessThan_int32 +#print axioms LexLeanLaws.lessThan_int64 +#print axioms LexLeanLaws.lessThan_int8 +#print axioms LexLeanLaws.lessThan_nat +#print axioms LexLeanLaws.lessThan_uint16 +#print axioms LexLeanLaws.lessThan_uint32 +#print axioms LexLeanLaws.lessThan_uint64 +#print axioms LexLeanLaws.lessThan_uint8 +#print axioms LexLeanLaws.listFold_add_int +#print axioms LexLeanLaws.listFold_add_int_self +#print axioms LexLeanLaws.listFold_add_nat +#print axioms LexLeanLaws.listFold_add_nat_self +#print axioms LexLeanLaws.listFold_append +#print axioms LexLeanLaws.listFold_cons +#print axioms LexLeanLaws.listFold_extend +#print axioms LexLeanLaws.listFold_fusion +#print axioms LexLeanLaws.listFold_nil +#print axioms LexLeanLaws.listFold_pair +#print axioms LexLeanLaws.listFold_prepend +#print axioms LexLeanLaws.listFold_sub_int +#print axioms LexLeanLaws.listFold_sub_int_self +#print axioms LexLeanLaws.mapEntries_self +#print axioms LexLeanLaws.mapFold_listFold +#print axioms LexLeanLaws.mapSize_length +#print axioms LexLeanLaws.quotient_int +#print axioms LexLeanLaws.quotient_nat +#print axioms LexLeanLaws.remainder_int +#print axioms LexLeanLaws.remainder_nat +#print axioms LexLeanLaws.setElements_self +#print axioms LexLeanLaws.setFold_listFold +#print axioms LexLeanLaws.setSize_length +#print axioms LexLeanLaws.sumInt +#print axioms LexLeanLaws.sumInt._f +#print axioms LexLeanLaws.sumInt._sunfold +#print axioms LexLeanLaws.sumInt._unsafe_rec +#print axioms LexLeanLaws.sumInt.eq_1 +#print axioms LexLeanLaws.sumInt.eq_2 +#print axioms LexLeanLaws.sumInt.eq_def +#print axioms LexLeanLaws.sumInt_add +#print axioms LexLeanLaws.sumInt_append +#print axioms LexLeanLaws.sumInt_cons +#print axioms LexLeanLaws.sumInt_const +#print axioms LexLeanLaws.sumInt_mul +#print axioms LexLeanLaws.sumInt_mul_right +#print axioms LexLeanLaws.sumInt_mul_self +#print axioms LexLeanLaws.sumInt_neg +#print axioms LexLeanLaws.sumInt_neg_self +#print axioms LexLeanLaws.sumInt_nil +#print axioms LexLeanLaws.sumInt_perm +#print axioms LexLeanLaws.sumInt_reverse +#print axioms LexLeanLaws.sumInt_sub +#print axioms LexLeanLaws.sumNat +#print axioms LexLeanLaws.sumNat._f +#print axioms LexLeanLaws.sumNat._sunfold +#print axioms LexLeanLaws.sumNat._unsafe_rec +#print axioms LexLeanLaws.sumNat.eq_1 +#print axioms LexLeanLaws.sumNat.eq_2 +#print axioms LexLeanLaws.sumNat.eq_def +#print axioms LexLeanLaws.sumNat.match_1 +#print axioms LexLeanLaws.sumNat_add +#print axioms LexLeanLaws.sumNat_append +#print axioms LexLeanLaws.sumNat_cons +#print axioms LexLeanLaws.sumNat_const +#print axioms LexLeanLaws.sumNat_mul +#print axioms LexLeanLaws.sumNat_mul_right +#print axioms LexLeanLaws.sumNat_mul_self +#print axioms LexLeanLaws.sumNat_nil +#print axioms LexLeanLaws.sumNat_perm +#print axioms LexLeanLaws.sumNat_reverse +#print axioms LexLeanLaws.tdiv_ediv +#print axioms LexLeanLaws.tmod_emod +#print axioms LexLeanRuntime.quotient.eq_1 +#print axioms LexLeanRuntime.remainder.eq_1 diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Laws.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Laws.process.json new file mode 100644 index 000000000..11250435d --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Laws.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext]\n'LexLeanCollections.listFold.eq_1' does not depend on any axioms\n'LexLeanLaws.append_list' does not depend on any axioms\n'LexLeanLaws.length_list' does not depend on any axioms\n'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_nat' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint16' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint32' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint64' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint8' depends on axioms: [propext]\n'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_cons' does not depend on any axioms\n'LexLeanLaws.listFold_extend' depends on axioms: [propext]\n'LexLeanLaws.listFold_fusion' does not depend on any axioms\n'LexLeanLaws.listFold_nil' does not depend on any axioms\n'LexLeanLaws.listFold_pair' does not depend on any axioms\n'LexLeanLaws.listFold_prepend' depends on axioms: [propext]\n'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.mapEntries_self' does not depend on any axioms\n'LexLeanLaws.mapFold_listFold' does not depend on any axioms\n'LexLeanLaws.mapSize_length' does not depend on any axioms\n'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.setElements_self' does not depend on any axioms\n'LexLeanLaws.setFold_listFold' does not depend on any axioms\n'LexLeanLaws.setSize_length' does not depend on any axioms\n'LexLeanLaws.sumInt' does not depend on any axioms\n'LexLeanLaws.sumInt._f' does not depend on any axioms\n'LexLeanLaws.sumInt._sunfold' does not depend on any axioms\n'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_1' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_2' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_def' does not depend on any axioms\n'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_cons' does not depend on any axioms\n'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul' depends on axioms: [propext]\n'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext]\n'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_nil' does not depend on any axioms\n'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat' does not depend on any axioms\n'LexLeanLaws.sumNat._f' does not depend on any axioms\n'LexLeanLaws.sumNat._sunfold' does not depend on any axioms\n'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_1' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_2' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_def' does not depend on any axioms\n'LexLeanLaws.sumNat.match_1' does not depend on any axioms\n'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_cons' does not depend on any axioms\n'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul' does not depend on any axioms\n'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul_self' does not depend on any axioms\n'LexLeanLaws.sumNat_nil' does not depend on any axioms\n'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.quotient.eq_1' does not depend on any axioms\n'LexLeanRuntime.remainder.eq_1' does not depend on any axioms\n","stdout_sha256":"a4ba2d39c9cdfd5e40c41c5ccf4726d937fd192fc042b74bb56cc0651e28919e","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.lean b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Portable.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.lean rename to examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Portable.lean diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Portable.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..9236ec6f7 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.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.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.lean b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Kernel.lean similarity index 100% rename from examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.lean rename to examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Kernel.lean diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Kernel.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Kernel.process.json new file mode 100644 index 000000000..27a267a33 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Kernel.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Kernel.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.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.A0873d7adc0406a004403264fdb2d9dea.Production.Main.lean b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Main.lean similarity index 100% rename from examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.lean rename to examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Main.lean diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Main.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Main.process.json new file mode 100644 index 000000000..3e6349607 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.Production.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A3950237c975b30f5dd9298b8e09919c9.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 deef6e665..f5a60a58f 100644 --- a/examples/production/expected/verify/audit/output.txt +++ b/examples/production/expected/verify/audit/output.txt @@ -101,6 +101,86 @@ '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 +'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext] +'LexLeanCollections.listFold.eq_1' does not depend on any axioms +'LexLeanLaws.append_list' does not depend on any axioms +'LexLeanLaws.length_list' does not depend on any axioms +'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_nat' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint16' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint32' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint64' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint8' depends on axioms: [propext] +'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_cons' does not depend on any axioms +'LexLeanLaws.listFold_extend' depends on axioms: [propext] +'LexLeanLaws.listFold_fusion' does not depend on any axioms +'LexLeanLaws.listFold_nil' does not depend on any axioms +'LexLeanLaws.listFold_pair' does not depend on any axioms +'LexLeanLaws.listFold_prepend' depends on axioms: [propext] +'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.mapEntries_self' does not depend on any axioms +'LexLeanLaws.mapFold_listFold' does not depend on any axioms +'LexLeanLaws.mapSize_length' does not depend on any axioms +'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.setElements_self' does not depend on any axioms +'LexLeanLaws.setFold_listFold' does not depend on any axioms +'LexLeanLaws.setSize_length' does not depend on any axioms +'LexLeanLaws.sumInt' does not depend on any axioms +'LexLeanLaws.sumInt._f' does not depend on any axioms +'LexLeanLaws.sumInt._sunfold' does not depend on any axioms +'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumInt.eq_1' does not depend on any axioms +'LexLeanLaws.sumInt.eq_2' does not depend on any axioms +'LexLeanLaws.sumInt.eq_def' does not depend on any axioms +'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_cons' does not depend on any axioms +'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul' depends on axioms: [propext] +'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext] +'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_nil' does not depend on any axioms +'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat' does not depend on any axioms +'LexLeanLaws.sumNat._f' does not depend on any axioms +'LexLeanLaws.sumNat._sunfold' does not depend on any axioms +'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumNat.eq_1' does not depend on any axioms +'LexLeanLaws.sumNat.eq_2' does not depend on any axioms +'LexLeanLaws.sumNat.eq_def' does not depend on any axioms +'LexLeanLaws.sumNat.match_1' does not depend on any axioms +'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_cons' does not depend on any axioms +'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul' does not depend on any axioms +'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul_self' does not depend on any axioms +'LexLeanLaws.sumNat_nil' does not depend on any axioms +'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.quotient.eq_1' does not depend on any axioms +'LexLeanRuntime.remainder.eq_1' 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 diff --git a/examples/production/expected/verify/extract/LexLeanExtract.X0873d7adc0406a004403264fdb2d9dea.lean b/examples/production/expected/verify/extract/LexLeanExtract.X0873d7adc0406a004403264fdb2d9dea.lean deleted file mode 100644 index c68ef2adf..000000000 --- a/examples/production/expected/verify/extract/LexLeanExtract.X0873d7adc0406a004403264fdb2d9dea.lean +++ /dev/null @@ -1,434 +0,0 @@ -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.X3950237c975b30f5dd9298b8e09919c9.lean b/examples/production/expected/verify/extract/LexLeanExtract.X3950237c975b30f5dd9298b8e09919c9.lean new file mode 100644 index 000000000..290908302 --- /dev/null +++ b/examples/production/expected/verify/extract/LexLeanExtract.X3950237c975b30f5dd9298b8e09919c9.lean @@ -0,0 +1,435 @@ +module +public meta import Lean +import all LexLeanRuntime.Portable +import all LexLeanRuntime.Collections +import all LexLeanRuntime.Laws +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", "LexLeanRuntime.Laws", "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 d9c4e5300..b8e315d90 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.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"} +{"argv":["env","lean","$STAGING/extract/LexLeanExtract.X3950237c975b30f5dd9298b8e09919c9.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.X3950237c975b30f5dd9298b8e09919c9","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_32\",\"_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_32\",\"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":"11f2b986da02936d686ec942597cc5e399980e686510eed491fe44180e9751e0","tool":"lean"} diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0.lean deleted file mode 100644 index 51b984500..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 47ae2e43b..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index cff9d3d3a..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index a359812dc..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 49f413f7e..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 32e7d8cb8..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 405c6b375..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustCore.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 1d6393565..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 3a4405a6b..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 60dab1949..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 3c61ff328..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 751dd0739..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index f121d8374..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 884005dd7..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 6bcd8a294..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 8b3207a1c..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index cc7b2b896..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 69f871d55..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 50664e740..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index c5c85d3dc..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 8637c23a1..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 22ee40b50..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 0e97edc9d..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 3f4793178..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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 deleted file mode 100644 index 675012c13..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 36899a513..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/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.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/C3950237c975b30f5dd9298b8e09919c9/R0.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0.lean new file mode 100644 index 000000000..c216d5fd4 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustCore.lean new file mode 100644 index 000000000..347335f91 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.denote left right) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.root left right) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustStd.lean new file mode 100644 index 000000000..8ead0e0ca --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.denote left right) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.root left right) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/RustCore.lean new file mode 100644 index 000000000..55d258dae --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/RustStd.lean new file mode 100644 index 000000000..b0990dab8 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1.lean new file mode 100644 index 000000000..2bcbac4ee --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustCore.lean new file mode 100644 index 000000000..2ed67300b --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustCore.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore + +theorem __wt_0 : ∀ (__v : (Production.Kernel.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.program _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.krate _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.flags (_root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.denote width height) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.root width height) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustStd.lean new file mode 100644 index 000000000..fdd913acb --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Production.Kernel.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.program _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.krate _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.flags (_root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.denote width height) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.root width height) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/RustCore.lean new file mode 100644 index 000000000..6f0a33a1a --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/RustStd.lean new file mode 100644 index 000000000..ac2268750 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2.lean new file mode 100644 index 000000000..983a46d36 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustCore.lean new file mode 100644 index 000000000..1903d2a62 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.denote value) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.root value) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustStd.lean new file mode 100644 index 000000000..29d181938 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.denote value) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.root value) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/RustCore.lean new file mode 100644 index 000000000..941a9b592 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/RustStd.lean new file mode 100644 index 000000000..736972a34 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3.lean new file mode 100644 index 000000000..15ec2ed2e --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustCore.lean new file mode 100644 index 000000000..bfb93ff29 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.denote number) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.root number) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustStd.lean new file mode 100644 index 000000000..18a8bfa92 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.denote number) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.root number) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/RustCore.lean new file mode 100644 index 000000000..9537f2f1a --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/RustStd.lean new file mode 100644 index 000000000..775f05bfd --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4.lean new file mode 100644 index 000000000..9199d0f64 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R4 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/Compose/RustStd.lean new file mode 100644 index 000000000..f356e0710 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R4.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R4.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/RustStd.lean new file mode 100644 index 000000000..c3cceca00 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5.lean new file mode 100644 index 000000000..e9c751849 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R5 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/Compose/RustStd.lean new file mode 100644 index 000000000..61d4cb290 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5 +import LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R5.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R5.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/RustStd.lean new file mode 100644 index 000000000..81c308149 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/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.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd diff --git a/examples/production/expected/verify/preserve/audit.txt b/examples/production/expected/verify/preserve/audit.txt index c8a5eedcd..2d113a0c6 100644 --- a/examples/production/expected/verify/preserve/audit.txt +++ b/examples/production/expected/verify/preserve/audit.txt @@ -7737,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.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, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -- statement vocabulary diff --git a/examples/production/expected/verify/preserve/preservation.json b/examples/production/expected/verify/preserve/preservation.json index ec310d697..4ebbaeab5 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":"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"} +{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"02de6e4be5a6ae43997bacd3713ea587693b8ac66da4aef567463a535a076ff3"},"roots":[{"byte_length":2450,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0","program":{"byte_length":338,"sha256":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216"},"renderings":[{"byte_length":2119,"composed":{"byte_length":1733,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore","sha256":"6e75f3e535989fc32bb989cf4c7805b106ae68c37c20d39e44ef29d001ee32c1","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.root"},"crate":{"byte_length":3976,"sha256":"a9ae0afab91c841fada5f7d20ccfe8a41dfc2ca90b5b46dab280d5cd17d1385f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore","sha256":"139fd44341f69af2e846cae06a4aa3638a7ceccfe05bd1b355351a1e0fba9283","target":"rust-core","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.root"},{"byte_length":2116,"composed":{"byte_length":1728,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd","sha256":"c404ad9e926a4904d9128864a2bc721daa4ab8b07c7ffdb4d60735a862e9749c","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.root"},"crate":{"byte_length":12894,"sha256":"9b5d12145ec61a1e7c8b36c9ae4a493ad5897ccaf7c764cbf360f4e9a6cea8e6"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd","sha256":"5061f52c2dbdee147771b3cad6f1e674e1d87211987879ae5a051f8921bda45c","target":"rust-std","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.root"}],"root":"Production.Main.checkedSum","sha256":"8b5ec0616ccd426df9477826f9e6c2887fd572b661d0cc144dfb1503e710f7db","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.root"},{"byte_length":6583,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1","program":{"byte_length":1055,"sha256":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215"},"renderings":[{"byte_length":6377,"composed":{"byte_length":2667,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore","sha256":"83bfcb722475ac9f914442ad5292ff1548c639720aed81fc68da92729fdf7e61","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.root"},"crate":{"byte_length":4405,"sha256":"ca17d7510141e6e1b02dccc85a256a77785a5103f5a826747ea80ab9c1fb86bd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore","sha256":"ce8b5b07750d04f1061f487898093d4419cb5aa03e38896f0defc58d9e0ec7fc","target":"rust-core","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.root"},{"byte_length":6374,"composed":{"byte_length":2659,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd","sha256":"34746702f48fd5d16ae8385492c3c206c36ef4419504cbd248351333da0ab540","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.root"},"crate":{"byte_length":13323,"sha256":"513d47124349518781071d810b7d6ee6eda7aad8ae16d6d0fb34990f19bb55f7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd","sha256":"2194db2e7d8a3f6aff1e7ed6f5be83482eba4f0042fa2c9babd986de7fc6da2a","target":"rust-std","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.root"}],"root":"Production.Main.shapeArea","sha256":"44625f6d916d52df47aaa8aa8f01f6ffd4ed41152f7f133b78b4025cae77b994","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.root"},{"byte_length":4724,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2","program":{"byte_length":725,"sha256":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928"},"renderings":[{"byte_length":4438,"composed":{"byte_length":1510,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore","sha256":"0024f2a10d44464a1d3cf748d54acda4d79eb2eed8e68604c7fac066280e4ca9","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.root"},"crate":{"byte_length":4314,"sha256":"8a91ac04eaa493de8edac523d3ac4a799351d7a2b214f2eb1badeb0ac9fbdfa8"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore","sha256":"1c1b771734648e15a641bbecfd9b0eae58e118dea183375e1c612b82ec77d5e3","target":"rust-core","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.root"},{"byte_length":4435,"composed":{"byte_length":1505,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd","sha256":"5f848b0c32e7bbc9b7a0d5a47423b0068436f7005af3ddac50cc11f214b58c38","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.root"},"crate":{"byte_length":13232,"sha256":"60e3d73c22b61aae4921ed8290cc78aa71cefc726f1d940ccac0d9daa1da7b37"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd","sha256":"c16edc7a032e7d60f1426275f6709c3fb6509de36038da13b4e73d457f245eab","target":"rust-std","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.root"}],"root":"Production.Main.quadruple","sha256":"94083fdca976cf3f85bba04455a2723d6b9fd189847007c85cbad050ceeaa71d","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.root"},{"byte_length":5629,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3","program":{"byte_length":962,"sha256":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3"},"renderings":[{"byte_length":5904,"composed":{"byte_length":1516,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore","sha256":"4ca52b1641f0358be5289dfae22c674f11dd2f5ca4a5b67fad0696fa2f65c8f4","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.root"},"crate":{"byte_length":4245,"sha256":"5d0c2369b0094a573935f6f3e8ec55ee8377e2716cdf91f69eafbdccfd576350"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore","sha256":"92458bd0195fe7cea801dad8a943dca2a8fba3beccf00136bf139ac2d10ff3d8","target":"rust-core","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.root"},{"byte_length":5901,"composed":{"byte_length":1511,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd","sha256":"ce8485a20e0602adbc1918bb0c2a2f6d875307e477b452136af4c16fd8b7fa3b","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.root"},"crate":{"byte_length":13163,"sha256":"0e3de250af7f0d8ab8b78cf05b26a348482821e96656854d81acde5d0045176d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd","sha256":"bedd4e75637e3889d09e269c88a7009132150ac6f4aba163ff944988387fe261","target":"rust-std","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.root"}],"root":"Production.Main.halvings","sha256":"698b0a63ae5c1ff85749ccc1b959d680d64d537a4b861a1bc3a37d4f08afadd4","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.root"},{"byte_length":3911,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4","program":{"byte_length":730,"sha256":"8ff4684c89e1a22e97417561a676319cab5351c711d244d980c53acc6160e821"},"renderings":[{"byte_length":4099,"composed":{"byte_length":1637,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd","sha256":"a574cbb7ab687d67b60eb3ed90c67eedaf4a8648dfcbf121386b5c68ee3850dc","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.root"},"crate":{"byte_length":13085,"sha256":"83b2d122dec85436570c0f5b42cf87a311265a21df42e733c2f90555a4797e2e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd","sha256":"d1dc29edf4465065aab131162bbaa944ba573e9d3074085fefae5aab9e0d0f82","target":"rust-std","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.root"}],"root":"Production.Main.sumAll","sha256":"08e527c12338c4497b8fa7e0f3d50ddeb7c50742f2b548b9bfa84a68598d4c48","targets":["rust-std"],"theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.root"},{"byte_length":4321,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5","program":{"byte_length":645,"sha256":"fd195b2e7a605141c794aa55f45159309d1e64be3c91ea5076f013e04dd08ec8"},"renderings":[{"byte_length":3226,"composed":{"byte_length":1638,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd","sha256":"5f391c98d41e0a5319aca542152e880daf93a9b83dfdc564a93f8d81be9bfd41","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd.root"},"crate":{"byte_length":13019,"sha256":"0d6a4f61233b7dba3058013d7ce78e556bdbb28e9cd31915fdf5c2be8bcca08a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd","sha256":"ffd4d1d6d40f4210afb0111de54528b57a8b25cc4f558206ca42ba275d018f53","target":"rust-std","theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.root"}],"root":"Production.Main.headOr","sha256":"fa5dccdbe396b87bb1ac77ce6bac29f4bc11ebc6832de5fce956bfd47afca3af","targets":["rust-std"],"theorem":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.root"}],"spec":"lexlean/preservation/1"} diff --git a/examples/reasoning/expected/verify/probe/LexLeanProbe.Pf04b35f2e1794332ed2a5b996f01296f.lean b/examples/production/expected/verify/probe/LexLeanProbe.P3950237c975b30f5dd9298b8e09919c9.lean similarity index 100% rename from examples/reasoning/expected/verify/probe/LexLeanProbe.Pf04b35f2e1794332ed2a5b996f01296f.lean rename to examples/production/expected/verify/probe/LexLeanProbe.P3950237c975b30f5dd9298b8e09919c9.lean diff --git a/examples/production/expected/verify/probe/process.json b/examples/production/expected/verify/probe/process.json index 33d3574b7..2f19fdb61 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.P0873d7adc0406a004403264fdb2d9dea.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P0873d7adc0406a004403264fdb2d9dea","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P3950237c975b30f5dd9298b8e09919c9.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P3950237c975b30f5dd9298b8e09919c9","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/lean/LexLeanRuntime.Laws.json b/examples/production/expected/verify/process/lean/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..b6b4cff9f --- /dev/null +++ b/examples/production/expected/verify/process/lean/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Laws.olean","$STAGING/lean-src/LexLeanRuntime/Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","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 deleted file mode 100644 index 53435a362..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 504d49189..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8d35acb12..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ea5c5b813..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index bacfe26b8..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8040bfc06..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7ecb594ff..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6bfb41069..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 030652eb8..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ca426a556..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index fe3d37b06..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7d8f0666e..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2c3fbd77f..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3360d5467..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 102eb11c8..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 04867849f..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e2ec0120b..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f24df2f51..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 73d6a9b84..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1f86c12ef..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 48e8fb08f..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index aab094583..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 20ac084b5..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index d1107285c..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9fa954dd8..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ca2ce69bd..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"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.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.json new file mode 100644 index 000000000..ef315db74 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.json new file mode 100644 index 000000000..627253267 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.json new file mode 100644 index 000000000..12ef755d2 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.json new file mode 100644 index 000000000..c25c277f0 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.json new file mode 100644 index 000000000..6707e2a4c --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.json new file mode 100644 index 000000000..f2c36f3ee --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.json new file mode 100644 index 000000000..a75446e94 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.json new file mode 100644 index 000000000..79d9403a4 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.json new file mode 100644 index 000000000..14d616949 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.json new file mode 100644 index 000000000..680cf9f72 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.json new file mode 100644 index 000000000..7ba11c587 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.json new file mode 100644 index 000000000..c16416a20 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.json new file mode 100644 index 000000000..22bd6175f --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.json new file mode 100644 index 000000000..054c4b63e --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.json new file mode 100644 index 000000000..62a8904cd --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.json new file mode 100644 index 000000000..bdbc39903 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.json new file mode 100644 index 000000000..84c320703 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.json new file mode 100644 index 000000000..1924aa711 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.json new file mode 100644 index 000000000..1c88cc9f9 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.json new file mode 100644 index 000000000..3e9a5d33e --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.json new file mode 100644 index 000000000..3878fe1bd --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.json new file mode 100644 index 000000000..39b21693d --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.json new file mode 100644 index 000000000..8764d2758 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd.json new file mode 100644 index 000000000..272ec2b8c --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.json new file mode 100644 index 000000000..421215b22 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.json new file mode 100644 index 000000000..8480d1277 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json b/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..650bb0ba4 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Laws"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","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 c88638284..0e9dd66b2 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'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"} +{"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.C3950237c975b30f5dd9298b8e09919c9.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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":"d7a85edd5e75a9e53a2badee61d84495f296bfa210ceac7631ace90ce26c0f7b","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 deleted file mode 100644 index 663e94dc3..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7120dac2e..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b9a9e3807..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1bcd59feb..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b2f1ee70b..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ab5b0a835..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index fd1da0f34..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9183d5fce..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 478e29215..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index cf06f14e9..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 2f3415de9..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7d434b193..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 61117e1af..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b340742c6..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 05132d906..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4be0f68e7..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c9b4fdaaa..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 503db814b..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6d9f93af7..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 855145b94..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4fc90cd2f..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ede96e29c..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ff695c541..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 9b7c8c1a1..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 40e6e7cdf..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 70c471784..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"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.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.json new file mode 100644 index 000000000..c11008e88 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.json new file mode 100644 index 000000000..9c863ca66 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.json new file mode 100644 index 000000000..b5c22a681 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.json new file mode 100644 index 000000000..9a04afd80 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.json new file mode 100644 index 000000000..634edf482 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.json new file mode 100644 index 000000000..ce119cfd4 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.json new file mode 100644 index 000000000..519d183c4 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.json new file mode 100644 index 000000000..c068aa0b4 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.json new file mode 100644 index 000000000..a20e128d2 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.json new file mode 100644 index 000000000..afd6f81b5 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.json new file mode 100644 index 000000000..6d3e4197a --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.json new file mode 100644 index 000000000..428d99792 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.json new file mode 100644 index 000000000..5b9cf8771 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.json new file mode 100644 index 000000000..699188284 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.json new file mode 100644 index 000000000..5b64a355a --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.json new file mode 100644 index 000000000..5048ac170 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.json new file mode 100644 index 000000000..540d35a0e --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.json new file mode 100644 index 000000000..a81057595 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.json new file mode 100644 index 000000000..1701e2f5a --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.json new file mode 100644 index 000000000..4e1aef76a --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.json new file mode 100644 index 000000000..6485d5410 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.json new file mode 100644 index 000000000..796473d2a --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.json new file mode 100644 index 000000000..ad95bca0a --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd.json new file mode 100644 index 000000000..78ce9ced3 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.json new file mode 100644 index 000000000..94ff0fa8d --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.json new file mode 100644 index 000000000..27b43f84e --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5.olean","$STAGING/preserve-src/LexLeanPreserve/C3950237c975b30f5dd9298b8e09919c9/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/lexlean.lock b/examples/production/lexlean.lock index ba4b0b6fc..467bbf4d5 100644 --- a/examples/production/lexlean.lock +++ b/examples/production/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 5c066c8dc..1f23b8ffc 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":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"} +{"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":351,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":494,"byte_start":351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575,"byte_start":494,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":576,"byte_start":575,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3685,"byte_start":576,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6823,"byte_start":3685,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8110,"byte_start":6823,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11252,"byte_start":8110,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14423,"byte_start":11252,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15943,"byte_start":14423,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16030,"byte_start":15943,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16121,"byte_start":16030,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19188,"byte_start":16121,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19363,"byte_start":19188,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22429,"byte_start":19363,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42270,"byte_start":22429,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59582,"byte_start":42270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59604,"byte_start":59582,"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 caf4dbdb9..9fd8359ff 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":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"} +{"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":351,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":498,"byte_start":351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":675,"byte_start":498,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":763,"byte_start":675,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":851,"byte_start":763,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":944,"byte_start":851,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1032,"byte_start":944,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1119,"byte_start":1032,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1207,"byte_start":1119,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1296,"byte_start":1207,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1390,"byte_start":1296,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1479,"byte_start":1390,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1567,"byte_start":1479,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1775,"byte_start":1567,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3252,"byte_start":1775,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3506,"byte_start":3252,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3986,"byte_start":3506,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7134,"byte_start":3986,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7306,"byte_start":7134,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10727,"byte_start":7306,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14121,"byte_start":10727,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15647,"byte_start":14121,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19077,"byte_start":15647,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22480,"byte_start":19077,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24099,"byte_start":22480,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27526,"byte_start":24099,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30926,"byte_start":27526,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32514,"byte_start":30926,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35944,"byte_start":32514,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39347,"byte_start":35944,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40980,"byte_start":39347,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44463,"byte_start":40980,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47919,"byte_start":44463,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49476,"byte_start":47919,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52945,"byte_start":49476,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56387,"byte_start":52945,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57958,"byte_start":56387,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61414,"byte_start":57958,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64843,"byte_start":61414,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66404,"byte_start":64843,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70001,"byte_start":66404,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73571,"byte_start":70001,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75298,"byte_start":73571,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75480,"byte_start":75298,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75694,"byte_start":75480,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78901,"byte_start":75694,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82111,"byte_start":78901,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82477,"byte_start":82111,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82563,"byte_start":82477,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82652,"byte_start":82563,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85727,"byte_start":82652,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85893,"byte_start":85727,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89054,"byte_start":85893,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92213,"byte_start":89054,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":116886,"byte_start":92213,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":139633,"byte_start":116886,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":139655,"byte_start":139633,"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 89256a3d1..4663ef423 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":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"} +{"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":513,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715,"byte_start":513,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716,"byte_start":715,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":855,"byte_start":716,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1007,"byte_start":855,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1177,"byte_start":1007,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1324,"byte_start":1177,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1474,"byte_start":1324,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1640,"byte_start":1474,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4775,"byte_start":1640,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4920,"byte_start":4775,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5224,"byte_start":4920,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5528,"byte_start":5224,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5818,"byte_start":5528,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9083,"byte_start":5818,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12456,"byte_start":9083,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15692,"byte_start":12456,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40686,"byte_start":15692,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40786,"byte_start":40686,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40889,"byte_start":40786,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43964,"byte_start":40889,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44111,"byte_start":43964,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47300,"byte_start":44111,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68181,"byte_start":47300,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68627,"byte_start":68181,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69055,"byte_start":68627,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69537,"byte_start":69055,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69696,"byte_start":69537,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69844,"byte_start":69696,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70271,"byte_start":69844,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70422,"byte_start":70271,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70579,"byte_start":70422,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71280,"byte_start":70579,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71372,"byte_start":71280,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72083,"byte_start":71372,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72336,"byte_start":72083,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72609,"byte_start":72336,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72964,"byte_start":72609,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73273,"byte_start":72964,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73549,"byte_start":73273,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73823,"byte_start":73549,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73917,"byte_start":73823,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74224,"byte_start":73917,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74323,"byte_start":74224,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74457,"byte_start":74323,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74674,"byte_start":74457,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74805,"byte_start":74674,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74910,"byte_start":74805,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75103,"byte_start":74910,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75193,"byte_start":75103,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75380,"byte_start":75193,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75517,"byte_start":75380,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75658,"byte_start":75517,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76881,"byte_start":75658,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78100,"byte_start":76881,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79321,"byte_start":78100,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80435,"byte_start":79321,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81545,"byte_start":80435,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82775,"byte_start":81545,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83214,"byte_start":82775,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83594,"byte_start":83214,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83984,"byte_start":83594,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84411,"byte_start":83984,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84853,"byte_start":84411,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85312,"byte_start":84853,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85773,"byte_start":85312,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86248,"byte_start":85773,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86668,"byte_start":86248,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87104,"byte_start":86668,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87124,"byte_start":87104,"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 ed33c162d..45ca522fc 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":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"} +{"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":352,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":483,"byte_start":352,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":587,"byte_start":483,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3654,"byte_start":587,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3807,"byte_start":3654,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6889,"byte_start":3807,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7675,"byte_start":6889,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10758,"byte_start":7675,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11554,"byte_start":10758,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14726,"byte_start":11554,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15765,"byte_start":14726,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15892,"byte_start":15765,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16032,"byte_start":15892,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19127,"byte_start":16032,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19290,"byte_start":19127,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22293,"byte_start":19290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49981,"byte_start":22293,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50066,"byte_start":49981,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50154,"byte_start":50066,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53224,"byte_start":50154,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53379,"byte_start":53224,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53463,"byte_start":53379,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53550,"byte_start":53463,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56615,"byte_start":53550,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56769,"byte_start":56615,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59881,"byte_start":56769,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60019,"byte_start":59881,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63034,"byte_start":60019,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66145,"byte_start":63034,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69273,"byte_start":66145,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72365,"byte_start":69273,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100730,"byte_start":72365,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":130090,"byte_start":100730,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":158714,"byte_start":130090,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":158737,"byte_start":158714,"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 2ba350de7..00312a9af 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":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"} +{"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":390,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":516,"byte_start":390,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":645,"byte_start":516,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3714,"byte_start":645,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3886,"byte_start":3714,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4151,"byte_start":3886,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4260,"byte_start":4151,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4412,"byte_start":4260,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4413,"byte_start":4412,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7509,"byte_start":4413,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8854,"byte_start":7509,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8937,"byte_start":8854,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9023,"byte_start":8937,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12068,"byte_start":9023,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12225,"byte_start":12068,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20447,"byte_start":12225,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42522,"byte_start":20447,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42547,"byte_start":42522,"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 0d3e35bb4..b6986cef0 100644 --- a/examples/reasoning/expected/build/manifest.json +++ b/examples/reasoning/expected/build/manifest.json @@ -1 +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"} +{"build_id":"2af0bb28a496f4ed6925bfd5005db93bc8a1de9e885517e11ec4aaabef029a15","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"a7ea4ef58c7d4c5f1f9ddddbf048579d6d9a408768e9d8928a6d2538ec49db18"},{"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":12731,"kind":"coverage","path":"coverage/Reasoning/Budget.coverage.json","sha256":"d203ca71639c6070536b7c5cfacedd0381c29cbec7e00047f56e818c53d6ae29"},{"byte_length":23360,"kind":"coverage","path":"coverage/Reasoning/Clinic.coverage.json","sha256":"90bcf5385ba8615ee75cd0a7f168e017f9124f1f6cf7981009ca07e13f9779f6"},{"byte_length":29286,"kind":"coverage","path":"coverage/Reasoning/Main.coverage.json","sha256":"fb5ffec8c5eb5203df581c3788e5ad4ece2862592a53b5f5d626d18c2e841f2e"},{"byte_length":17423,"kind":"coverage","path":"coverage/Reasoning/Planner.coverage.json","sha256":"42e72aec84844766d6505e3b885feb0b07295a96c78b0f67d7cf071f7b71331d"},{"byte_length":12874,"kind":"coverage","path":"coverage/Reasoning/Screening.coverage.json","sha256":"f38daac390fb621e0a407f16cec5aad847dccbbfd8dd8eda8e8cb7e1ce42ebc7"},{"byte_length":59604,"kind":"lean","path":"modules/Reasoning/Budget.lean","sha256":"13cb23a1119fad06996a3bdbeee2ccb9060ecfb3dc7bbe88d04d6884d763a829"},{"byte_length":139655,"kind":"lean","path":"modules/Reasoning/Clinic.lean","sha256":"55966472a6d676e56b9c8ae1eb0f05b3b477a921075d1c7354c107398b8e2440"},{"byte_length":87124,"kind":"lean","path":"modules/Reasoning/Main.lean","sha256":"5b4a8724cca748ec75c20b0944481b9de79db99c727146896d0203d40d91ec94"},{"byte_length":158737,"kind":"lean","path":"modules/Reasoning/Planner.lean","sha256":"212bd7913e2880719d9b8fac3811db3ec8e0227b1a46d96e93fb9315262e8f7c"},{"byte_length":42547,"kind":"lean","path":"modules/Reasoning/Screening.lean","sha256":"060035b4fcf49df396af1c1a28a46af408e8d9c4f2b9b3935703d3a38c811a5f"},{"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":6180,"kind":"map","path":"maps/Reasoning/Budget.map.json","sha256":"82847856c21d18c5343efe41bce70d201f766486a927612f723711a1c35fe2dd"},{"byte_length":19015,"kind":"map","path":"maps/Reasoning/Clinic.map.json","sha256":"cfae9cc3a625cad9e1c6f04e4db61155e4e1d291e37153c36b1c7d663b7f1506"},{"byte_length":23346,"kind":"map","path":"maps/Reasoning/Main.map.json","sha256":"0adfc68dc0914b2bed6c320ecce9e9e81684b4303b3b1bb2bdd30c5052c68671"},{"byte_length":11733,"kind":"map","path":"maps/Reasoning/Planner.map.json","sha256":"12f300dcf92f4f28dc1f4a2dc52504c9d6ce81addb0003b0e24c9a5413b1bfa8"},{"byte_length":6182,"kind":"map","path":"maps/Reasoning/Screening.map.json","sha256":"04308ec6cc8fac474433cf4968c54c2d9cbbc1287d3aa93636471e6843d3d15a"},{"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":"d362aa768021aa2dd83c667dc02645c09c4d83bf11f19cf177b78333c496a983","source_id":"d2be97da88b1a6386d4ee4b445113733f7313bf80b514310a5cac27cc08a6232","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 912e82590..87fc6bb5a 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Budget.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Budget.tex"}],"mappings":[{"artifact":0,"gen_end":351,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4636,"src_start":0},{"artifact":0,"gen_end":494,"gen_start":351,"node":1,"role":"declaration","source":0,"src_end":324,"src_start":145},{"artifact":0,"gen_end":575,"gen_start":494,"node":2,"role":"declaration","source":0,"src_end":448,"src_start":326},{"artifact":0,"gen_end":576,"gen_start":575,"node":3,"role":"declaration","source":0,"src_end":588,"src_start":450},{"artifact":0,"gen_end":3685,"gen_start":576,"node":4,"role":"declaration","source":0,"src_end":867,"src_start":590},{"artifact":0,"gen_end":6823,"gen_start":3685,"node":5,"role":"declaration","source":0,"src_end":1178,"src_start":869},{"artifact":0,"gen_end":8110,"gen_start":6823,"node":6,"role":"declaration","source":0,"src_end":1482,"src_start":1180},{"artifact":0,"gen_end":11252,"gen_start":8110,"node":7,"role":"declaration","source":0,"src_end":1785,"src_start":1484},{"artifact":0,"gen_end":14423,"gen_start":11252,"node":8,"role":"declaration","source":0,"src_end":2120,"src_start":1787},{"artifact":0,"gen_end":15943,"gen_start":14423,"node":9,"role":"declaration","source":0,"src_end":2513,"src_start":2122},{"artifact":0,"gen_end":16030,"gen_start":15943,"node":10,"role":"declaration","source":0,"src_end":2632,"src_start":2515},{"artifact":0,"gen_end":16121,"gen_start":16030,"node":11,"role":"declaration","source":0,"src_end":2777,"src_start":2634},{"artifact":0,"gen_end":19188,"gen_start":16121,"node":12,"role":"declaration","source":0,"src_end":3016,"src_start":2779},{"artifact":0,"gen_end":19363,"gen_start":19188,"node":13,"role":"declaration","source":0,"src_end":3224,"src_start":3018},{"artifact":0,"gen_end":22429,"gen_start":19363,"node":14,"role":"declaration","source":0,"src_end":3485,"src_start":3226},{"artifact":0,"gen_end":42270,"gen_start":22429,"node":15,"role":"declaration","source":0,"src_end":4058,"src_start":3487},{"artifact":0,"gen_end":59582,"gen_start":42270,"node":16,"role":"declaration","source":0,"src_end":4600,"src_start":4060},{"artifact":0,"gen_end":59604,"gen_start":59582,"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":"d362aa768021aa2dd83c667dc02645c09c4d83bf11f19cf177b78333c496a983","source_id":"d2be97da88b1a6386d4ee4b445113733f7313bf80b514310a5cac27cc08a6232","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 46b800b6e..e30520fa8 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Clinic.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Clinic.tex"}],"mappings":[{"artifact":0,"gen_end":351,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":27439,"src_start":0},{"artifact":0,"gen_end":498,"gen_start":351,"node":1,"role":"declaration","source":0,"src_end":440,"src_start":144},{"artifact":0,"gen_end":675,"gen_start":498,"node":2,"role":"declaration","source":0,"src_end":816,"src_start":442},{"artifact":0,"gen_end":763,"gen_start":675,"node":3,"role":"declaration","source":0,"src_end":954,"src_start":818},{"artifact":0,"gen_end":851,"gen_start":763,"node":4,"role":"declaration","source":0,"src_end":1092,"src_start":956},{"artifact":0,"gen_end":944,"gen_start":851,"node":5,"role":"declaration","source":0,"src_end":1235,"src_start":1094},{"artifact":0,"gen_end":1032,"gen_start":944,"node":6,"role":"declaration","source":0,"src_end":1373,"src_start":1237},{"artifact":0,"gen_end":1119,"gen_start":1032,"node":7,"role":"declaration","source":0,"src_end":1510,"src_start":1375},{"artifact":0,"gen_end":1207,"gen_start":1119,"node":8,"role":"declaration","source":0,"src_end":1626,"src_start":1512},{"artifact":0,"gen_end":1296,"gen_start":1207,"node":9,"role":"declaration","source":0,"src_end":1743,"src_start":1628},{"artifact":0,"gen_end":1390,"gen_start":1296,"node":10,"role":"declaration","source":0,"src_end":1865,"src_start":1745},{"artifact":0,"gen_end":1479,"gen_start":1390,"node":11,"role":"declaration","source":0,"src_end":1982,"src_start":1867},{"artifact":0,"gen_end":1567,"gen_start":1479,"node":12,"role":"declaration","source":0,"src_end":2098,"src_start":1984},{"artifact":0,"gen_end":1775,"gen_start":1567,"node":13,"role":"declaration","source":0,"src_end":2382,"src_start":2100},{"artifact":0,"gen_end":3252,"gen_start":1775,"node":14,"role":"declaration","source":0,"src_end":4502,"src_start":2384},{"artifact":0,"gen_end":3506,"gen_start":3252,"node":15,"role":"declaration","source":0,"src_end":4840,"src_start":4504},{"artifact":0,"gen_end":3986,"gen_start":3506,"node":16,"role":"declaration","source":0,"src_end":5303,"src_start":4842},{"artifact":0,"gen_end":7134,"gen_start":3986,"node":17,"role":"declaration","source":0,"src_end":5701,"src_start":5305},{"artifact":0,"gen_end":7306,"gen_start":7134,"node":18,"role":"declaration","source":0,"src_end":5935,"src_start":5703},{"artifact":0,"gen_end":10727,"gen_start":7306,"node":19,"role":"declaration","source":0,"src_end":6705,"src_start":5937},{"artifact":0,"gen_end":14121,"gen_start":10727,"node":20,"role":"declaration","source":0,"src_end":7354,"src_start":6707},{"artifact":0,"gen_end":15647,"gen_start":14121,"node":21,"role":"declaration","source":0,"src_end":7914,"src_start":7356},{"artifact":0,"gen_end":19077,"gen_start":15647,"node":22,"role":"declaration","source":0,"src_end":8693,"src_start":7916},{"artifact":0,"gen_end":22480,"gen_start":19077,"node":23,"role":"declaration","source":0,"src_end":9351,"src_start":8695},{"artifact":0,"gen_end":24099,"gen_start":22480,"node":24,"role":"declaration","source":0,"src_end":9932,"src_start":9353},{"artifact":0,"gen_end":27526,"gen_start":24099,"node":25,"role":"declaration","source":0,"src_end":10708,"src_start":9934},{"artifact":0,"gen_end":30926,"gen_start":27526,"node":26,"role":"declaration","source":0,"src_end":11363,"src_start":10710},{"artifact":0,"gen_end":32514,"gen_start":30926,"node":27,"role":"declaration","source":0,"src_end":11937,"src_start":11365},{"artifact":0,"gen_end":35944,"gen_start":32514,"node":28,"role":"declaration","source":0,"src_end":12716,"src_start":11939},{"artifact":0,"gen_end":39347,"gen_start":35944,"node":29,"role":"declaration","source":0,"src_end":13374,"src_start":12718},{"artifact":0,"gen_end":40980,"gen_start":39347,"node":30,"role":"declaration","source":0,"src_end":13957,"src_start":13376},{"artifact":0,"gen_end":44463,"gen_start":40980,"node":31,"role":"declaration","source":0,"src_end":14805,"src_start":13959},{"artifact":0,"gen_end":47919,"gen_start":44463,"node":32,"role":"declaration","source":0,"src_end":15532,"src_start":14807},{"artifact":0,"gen_end":49476,"gen_start":47919,"node":33,"role":"declaration","source":0,"src_end":16168,"src_start":15534},{"artifact":0,"gen_end":52945,"gen_start":49476,"node":34,"role":"declaration","source":0,"src_end":16984,"src_start":16170},{"artifact":0,"gen_end":56387,"gen_start":52945,"node":35,"role":"declaration","source":0,"src_end":17679,"src_start":16986},{"artifact":0,"gen_end":57958,"gen_start":56387,"node":36,"role":"declaration","source":0,"src_end":18287,"src_start":17681},{"artifact":0,"gen_end":61414,"gen_start":57958,"node":37,"role":"declaration","source":0,"src_end":19091,"src_start":18289},{"artifact":0,"gen_end":64843,"gen_start":61414,"node":38,"role":"declaration","source":0,"src_end":19774,"src_start":19093},{"artifact":0,"gen_end":66404,"gen_start":64843,"node":39,"role":"declaration","source":0,"src_end":20368,"src_start":19776},{"artifact":0,"gen_end":70001,"gen_start":66404,"node":40,"role":"declaration","source":0,"src_end":21308,"src_start":20370},{"artifact":0,"gen_end":73571,"gen_start":70001,"node":41,"role":"declaration","source":0,"src_end":22127,"src_start":21310},{"artifact":0,"gen_end":75298,"gen_start":73571,"node":42,"role":"declaration","source":0,"src_end":22863,"src_start":22129},{"artifact":0,"gen_end":75480,"gen_start":75298,"node":43,"role":"declaration","source":0,"src_end":23072,"src_start":22865},{"artifact":0,"gen_end":75694,"gen_start":75480,"node":44,"role":"declaration","source":0,"src_end":23321,"src_start":23074},{"artifact":0,"gen_end":78901,"gen_start":75694,"node":45,"role":"declaration","source":0,"src_end":23800,"src_start":23323},{"artifact":0,"gen_end":82111,"gen_start":78901,"node":46,"role":"declaration","source":0,"src_end":24282,"src_start":23802},{"artifact":0,"gen_end":82477,"gen_start":82111,"node":47,"role":"declaration","source":0,"src_end":24566,"src_start":24284},{"artifact":0,"gen_end":82563,"gen_start":82477,"node":48,"role":"declaration","source":0,"src_end":24660,"src_start":24568},{"artifact":0,"gen_end":82652,"gen_start":82563,"node":49,"role":"declaration","source":0,"src_end":24789,"src_start":24662},{"artifact":0,"gen_end":85727,"gen_start":82652,"node":50,"role":"declaration","source":0,"src_end":25020,"src_start":24791},{"artifact":0,"gen_end":85893,"gen_start":85727,"node":51,"role":"declaration","source":0,"src_end":25224,"src_start":25022},{"artifact":0,"gen_end":89054,"gen_start":85893,"node":52,"role":"declaration","source":0,"src_end":25579,"src_start":25226},{"artifact":0,"gen_end":92213,"gen_start":89054,"node":53,"role":"declaration","source":0,"src_end":25914,"src_start":25581},{"artifact":0,"gen_end":116886,"gen_start":92213,"node":54,"role":"declaration","source":0,"src_end":26711,"src_start":25916},{"artifact":0,"gen_end":139633,"gen_start":116886,"node":55,"role":"declaration","source":0,"src_end":27403,"src_start":26713},{"artifact":0,"gen_end":139655,"gen_start":139633,"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":"d362aa768021aa2dd83c667dc02645c09c4d83bf11f19cf177b78333c496a983","source_id":"d2be97da88b1a6386d4ee4b445113733f7313bf80b514310a5cac27cc08a6232","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 c9effdde4..b402a6b68 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Main.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Main.tex"}],"mappings":[{"artifact":0,"gen_end":513,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":30065,"src_start":0},{"artifact":0,"gen_end":715,"gen_start":513,"node":1,"role":"declaration","source":0,"src_end":460,"src_start":234},{"artifact":0,"gen_end":716,"gen_start":715,"node":2,"role":"declaration","source":0,"src_end":626,"src_start":462},{"artifact":0,"gen_end":855,"gen_start":716,"node":3,"role":"declaration","source":0,"src_end":830,"src_start":628},{"artifact":0,"gen_end":1007,"gen_start":855,"node":4,"role":"declaration","source":0,"src_end":1068,"src_start":832},{"artifact":0,"gen_end":1177,"gen_start":1007,"node":5,"role":"declaration","source":0,"src_end":1290,"src_start":1070},{"artifact":0,"gen_end":1324,"gen_start":1177,"node":6,"role":"declaration","source":0,"src_end":1441,"src_start":1292},{"artifact":0,"gen_end":1474,"gen_start":1324,"node":7,"role":"declaration","source":0,"src_end":1592,"src_start":1443},{"artifact":0,"gen_end":1640,"gen_start":1474,"node":8,"role":"declaration","source":0,"src_end":1776,"src_start":1594},{"artifact":0,"gen_end":4775,"gen_start":1640,"node":9,"role":"declaration","source":0,"src_end":2078,"src_start":1778},{"artifact":0,"gen_end":4920,"gen_start":4775,"node":10,"role":"declaration","source":0,"src_end":2305,"src_start":2080},{"artifact":0,"gen_end":5224,"gen_start":4920,"node":11,"role":"declaration","source":0,"src_end":2682,"src_start":2307},{"artifact":0,"gen_end":5528,"gen_start":5224,"node":12,"role":"declaration","source":0,"src_end":3041,"src_start":2684},{"artifact":0,"gen_end":5818,"gen_start":5528,"node":13,"role":"declaration","source":0,"src_end":3345,"src_start":3043},{"artifact":0,"gen_end":9083,"gen_start":5818,"node":14,"role":"declaration","source":0,"src_end":3765,"src_start":3347},{"artifact":0,"gen_end":12456,"gen_start":9083,"node":15,"role":"declaration","source":0,"src_end":4281,"src_start":3767},{"artifact":0,"gen_end":15692,"gen_start":12456,"node":16,"role":"declaration","source":0,"src_end":4695,"src_start":4283},{"artifact":0,"gen_end":40686,"gen_start":15692,"node":17,"role":"declaration","source":0,"src_end":5734,"src_start":4697},{"artifact":0,"gen_end":40786,"gen_start":40686,"node":18,"role":"declaration","source":0,"src_end":5833,"src_start":5736},{"artifact":0,"gen_end":40889,"gen_start":40786,"node":19,"role":"declaration","source":0,"src_end":5968,"src_start":5835},{"artifact":0,"gen_end":43964,"gen_start":40889,"node":20,"role":"declaration","source":0,"src_end":6190,"src_start":5970},{"artifact":0,"gen_end":44111,"gen_start":43964,"node":21,"role":"declaration","source":0,"src_end":6389,"src_start":6192},{"artifact":0,"gen_end":47300,"gen_start":44111,"node":22,"role":"declaration","source":0,"src_end":6731,"src_start":6391},{"artifact":0,"gen_end":68181,"gen_start":47300,"node":23,"role":"declaration","source":0,"src_end":7608,"src_start":6733},{"artifact":0,"gen_end":68627,"gen_start":68181,"node":24,"role":"declaration","source":0,"src_end":8192,"src_start":7610},{"artifact":0,"gen_end":69055,"gen_start":68627,"node":25,"role":"declaration","source":0,"src_end":8767,"src_start":8194},{"artifact":0,"gen_end":69537,"gen_start":69055,"node":26,"role":"declaration","source":0,"src_end":9391,"src_start":8769},{"artifact":0,"gen_end":69696,"gen_start":69537,"node":27,"role":"declaration","source":0,"src_end":9707,"src_start":9393},{"artifact":0,"gen_end":69844,"gen_start":69696,"node":28,"role":"declaration","source":0,"src_end":9979,"src_start":9709},{"artifact":0,"gen_end":70271,"gen_start":69844,"node":29,"role":"declaration","source":0,"src_end":10553,"src_start":9981},{"artifact":0,"gen_end":70422,"gen_start":70271,"node":30,"role":"declaration","source":0,"src_end":10828,"src_start":10555},{"artifact":0,"gen_end":70579,"gen_start":70422,"node":31,"role":"declaration","source":0,"src_end":11117,"src_start":10830},{"artifact":0,"gen_end":71280,"gen_start":70579,"node":32,"role":"declaration","source":0,"src_end":11892,"src_start":11119},{"artifact":0,"gen_end":71372,"gen_start":71280,"node":33,"role":"declaration","source":0,"src_end":12020,"src_start":11894},{"artifact":0,"gen_end":72083,"gen_start":71372,"node":34,"role":"declaration","source":0,"src_end":12754,"src_start":12022},{"artifact":0,"gen_end":72336,"gen_start":72083,"node":35,"role":"declaration","source":0,"src_end":13058,"src_start":12756},{"artifact":0,"gen_end":72609,"gen_start":72336,"node":36,"role":"declaration","source":0,"src_end":13405,"src_start":13060},{"artifact":0,"gen_end":72964,"gen_start":72609,"node":37,"role":"declaration","source":0,"src_end":13816,"src_start":13407},{"artifact":0,"gen_end":73273,"gen_start":72964,"node":38,"role":"declaration","source":0,"src_end":14166,"src_start":13818},{"artifact":0,"gen_end":73549,"gen_start":73273,"node":39,"role":"declaration","source":0,"src_end":14502,"src_start":14168},{"artifact":0,"gen_end":73823,"gen_start":73549,"node":40,"role":"declaration","source":0,"src_end":14836,"src_start":14504},{"artifact":0,"gen_end":73917,"gen_start":73823,"node":41,"role":"declaration","source":0,"src_end":14966,"src_start":14838},{"artifact":0,"gen_end":74224,"gen_start":73917,"node":42,"role":"declaration","source":0,"src_end":15380,"src_start":14968},{"artifact":0,"gen_end":74323,"gen_start":74224,"node":43,"role":"declaration","source":0,"src_end":15545,"src_start":15382},{"artifact":0,"gen_end":74457,"gen_start":74323,"node":44,"role":"declaration","source":0,"src_end":15745,"src_start":15547},{"artifact":0,"gen_end":74674,"gen_start":74457,"node":45,"role":"declaration","source":0,"src_end":16068,"src_start":15747},{"artifact":0,"gen_end":74805,"gen_start":74674,"node":46,"role":"declaration","source":0,"src_end":16294,"src_start":16070},{"artifact":0,"gen_end":74910,"gen_start":74805,"node":47,"role":"declaration","source":0,"src_end":16477,"src_start":16296},{"artifact":0,"gen_end":75103,"gen_start":74910,"node":48,"role":"declaration","source":0,"src_end":16751,"src_start":16479},{"artifact":0,"gen_end":75193,"gen_start":75103,"node":49,"role":"declaration","source":0,"src_end":16877,"src_start":16753},{"artifact":0,"gen_end":75380,"gen_start":75193,"node":50,"role":"declaration","source":0,"src_end":17143,"src_start":16879},{"artifact":0,"gen_end":75517,"gen_start":75380,"node":51,"role":"declaration","source":0,"src_end":17346,"src_start":17145},{"artifact":0,"gen_end":75658,"gen_start":75517,"node":52,"role":"declaration","source":0,"src_end":17553,"src_start":17348},{"artifact":0,"gen_end":76881,"gen_start":75658,"node":53,"role":"declaration","source":0,"src_end":18780,"src_start":17555},{"artifact":0,"gen_end":78100,"gen_start":76881,"node":54,"role":"declaration","source":0,"src_end":20003,"src_start":18782},{"artifact":0,"gen_end":79321,"gen_start":78100,"node":55,"role":"declaration","source":0,"src_end":21228,"src_start":20005},{"artifact":0,"gen_end":80435,"gen_start":79321,"node":56,"role":"declaration","source":0,"src_end":22400,"src_start":21230},{"artifact":0,"gen_end":81545,"gen_start":80435,"node":57,"role":"declaration","source":0,"src_end":23568,"src_start":22402},{"artifact":0,"gen_end":82775,"gen_start":81545,"node":58,"role":"declaration","source":0,"src_end":24802,"src_start":23570},{"artifact":0,"gen_end":83214,"gen_start":82775,"node":59,"role":"declaration","source":0,"src_end":25281,"src_start":24804},{"artifact":0,"gen_end":83594,"gen_start":83214,"node":60,"role":"declaration","source":0,"src_end":25701,"src_start":25283},{"artifact":0,"gen_end":83984,"gen_start":83594,"node":61,"role":"declaration","source":0,"src_end":26131,"src_start":25703},{"artifact":0,"gen_end":84411,"gen_start":83984,"node":62,"role":"declaration","source":0,"src_end":26691,"src_start":26133},{"artifact":0,"gen_end":84853,"gen_start":84411,"node":63,"role":"declaration","source":0,"src_end":27266,"src_start":26693},{"artifact":0,"gen_end":85312,"gen_start":84853,"node":64,"role":"declaration","source":0,"src_end":27837,"src_start":27268},{"artifact":0,"gen_end":85773,"gen_start":85312,"node":65,"role":"declaration","source":0,"src_end":28410,"src_start":27839},{"artifact":0,"gen_end":86248,"gen_start":85773,"node":66,"role":"declaration","source":0,"src_end":28997,"src_start":28412},{"artifact":0,"gen_end":86668,"gen_start":86248,"node":67,"role":"declaration","source":0,"src_end":29505,"src_start":28999},{"artifact":0,"gen_end":87104,"gen_start":86668,"node":68,"role":"declaration","source":0,"src_end":30029,"src_start":29507},{"artifact":0,"gen_end":87124,"gen_start":87104,"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":"d362aa768021aa2dd83c667dc02645c09c4d83bf11f19cf177b78333c496a983","source_id":"d2be97da88b1a6386d4ee4b445113733f7313bf80b514310a5cac27cc08a6232","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 dd5335fc5..c7d12f7f5 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Planner.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Planner.tex"}],"mappings":[{"artifact":0,"gen_end":352,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8705,"src_start":0},{"artifact":0,"gen_end":483,"gen_start":352,"node":1,"role":"declaration","source":0,"src_end":284,"src_start":142},{"artifact":0,"gen_end":587,"gen_start":483,"node":2,"role":"declaration","source":0,"src_end":410,"src_start":286},{"artifact":0,"gen_end":3654,"gen_start":587,"node":3,"role":"declaration","source":0,"src_end":600,"src_start":412},{"artifact":0,"gen_end":3807,"gen_start":3654,"node":4,"role":"declaration","source":0,"src_end":747,"src_start":602},{"artifact":0,"gen_end":6889,"gen_start":3807,"node":5,"role":"declaration","source":0,"src_end":1008,"src_start":749},{"artifact":0,"gen_end":7675,"gen_start":6889,"node":6,"role":"declaration","source":0,"src_end":1248,"src_start":1010},{"artifact":0,"gen_end":10758,"gen_start":7675,"node":7,"role":"declaration","source":0,"src_end":1509,"src_start":1250},{"artifact":0,"gen_end":11554,"gen_start":10758,"node":8,"role":"declaration","source":0,"src_end":1750,"src_start":1511},{"artifact":0,"gen_end":14726,"gen_start":11554,"node":9,"role":"declaration","source":0,"src_end":2087,"src_start":1752},{"artifact":0,"gen_end":15765,"gen_start":14726,"node":10,"role":"declaration","source":0,"src_end":2476,"src_start":2089},{"artifact":0,"gen_end":15892,"gen_start":15765,"node":11,"role":"declaration","source":0,"src_end":2624,"src_start":2478},{"artifact":0,"gen_end":16032,"gen_start":15892,"node":12,"role":"declaration","source":0,"src_end":2799,"src_start":2626},{"artifact":0,"gen_end":19127,"gen_start":16032,"node":13,"role":"declaration","source":0,"src_end":3043,"src_start":2801},{"artifact":0,"gen_end":19290,"gen_start":19127,"node":14,"role":"declaration","source":0,"src_end":3251,"src_start":3045},{"artifact":0,"gen_end":22293,"gen_start":19290,"node":15,"role":"declaration","source":0,"src_end":3444,"src_start":3253},{"artifact":0,"gen_end":49981,"gen_start":22293,"node":16,"role":"declaration","source":0,"src_end":4017,"src_start":3446},{"artifact":0,"gen_end":50066,"gen_start":49981,"node":17,"role":"declaration","source":0,"src_end":4110,"src_start":4019},{"artifact":0,"gen_end":50154,"gen_start":50066,"node":18,"role":"declaration","source":0,"src_end":4239,"src_start":4112},{"artifact":0,"gen_end":53224,"gen_start":50154,"node":19,"role":"declaration","source":0,"src_end":4465,"src_start":4241},{"artifact":0,"gen_end":53379,"gen_start":53224,"node":20,"role":"declaration","source":0,"src_end":4657,"src_start":4467},{"artifact":0,"gen_end":53463,"gen_start":53379,"node":21,"role":"declaration","source":0,"src_end":4749,"src_start":4659},{"artifact":0,"gen_end":53550,"gen_start":53463,"node":22,"role":"declaration","source":0,"src_end":4877,"src_start":4751},{"artifact":0,"gen_end":56615,"gen_start":53550,"node":23,"role":"declaration","source":0,"src_end":5098,"src_start":4879},{"artifact":0,"gen_end":56769,"gen_start":56615,"node":24,"role":"declaration","source":0,"src_end":5289,"src_start":5100},{"artifact":0,"gen_end":59881,"gen_start":56769,"node":25,"role":"declaration","source":0,"src_end":5589,"src_start":5291},{"artifact":0,"gen_end":60019,"gen_start":59881,"node":26,"role":"declaration","source":0,"src_end":5743,"src_start":5591},{"artifact":0,"gen_end":63034,"gen_start":60019,"node":27,"role":"declaration","source":0,"src_end":5947,"src_start":5745},{"artifact":0,"gen_end":66145,"gen_start":63034,"node":28,"role":"declaration","source":0,"src_end":6227,"src_start":5949},{"artifact":0,"gen_end":69273,"gen_start":66145,"node":29,"role":"declaration","source":0,"src_end":6541,"src_start":6229},{"artifact":0,"gen_end":72365,"gen_start":69273,"node":30,"role":"declaration","source":0,"src_end":6821,"src_start":6543},{"artifact":0,"gen_end":100730,"gen_start":72365,"node":31,"role":"declaration","source":0,"src_end":7430,"src_start":6823},{"artifact":0,"gen_end":130090,"gen_start":100730,"node":32,"role":"declaration","source":0,"src_end":8099,"src_start":7432},{"artifact":0,"gen_end":158714,"gen_start":130090,"node":33,"role":"declaration","source":0,"src_end":8669,"src_start":8101},{"artifact":0,"gen_end":158737,"gen_start":158714,"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":"d362aa768021aa2dd83c667dc02645c09c4d83bf11f19cf177b78333c496a983","source_id":"d2be97da88b1a6386d4ee4b445113733f7313bf80b514310a5cac27cc08a6232","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 a7996b4bd..eca8a679a 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Screening.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Screening.tex"}],"mappings":[{"artifact":0,"gen_end":390,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3642,"src_start":0},{"artifact":0,"gen_end":516,"gen_start":390,"node":1,"role":"declaration","source":0,"src_end":276,"src_start":146},{"artifact":0,"gen_end":645,"gen_start":516,"node":2,"role":"declaration","source":0,"src_end":434,"src_start":278},{"artifact":0,"gen_end":3714,"gen_start":645,"node":3,"role":"declaration","source":0,"src_end":659,"src_start":436},{"artifact":0,"gen_end":3886,"gen_start":3714,"node":4,"role":"declaration","source":0,"src_end":899,"src_start":661},{"artifact":0,"gen_end":4151,"gen_start":3886,"node":5,"role":"declaration","source":0,"src_end":1201,"src_start":901},{"artifact":0,"gen_end":4260,"gen_start":4151,"node":6,"role":"declaration","source":0,"src_end":1298,"src_start":1203},{"artifact":0,"gen_end":4412,"gen_start":4260,"node":7,"role":"declaration","source":0,"src_end":1473,"src_start":1300},{"artifact":0,"gen_end":4413,"gen_start":4412,"node":8,"role":"declaration","source":0,"src_end":1565,"src_start":1475},{"artifact":0,"gen_end":7509,"gen_start":4413,"node":9,"role":"declaration","source":0,"src_end":1803,"src_start":1567},{"artifact":0,"gen_end":8854,"gen_start":7509,"node":10,"role":"declaration","source":0,"src_end":2213,"src_start":1805},{"artifact":0,"gen_end":8937,"gen_start":8854,"node":11,"role":"declaration","source":0,"src_end":2305,"src_start":2215},{"artifact":0,"gen_end":9023,"gen_start":8937,"node":12,"role":"declaration","source":0,"src_end":2433,"src_start":2307},{"artifact":0,"gen_end":12068,"gen_start":9023,"node":13,"role":"declaration","source":0,"src_end":2634,"src_start":2435},{"artifact":0,"gen_end":12225,"gen_start":12068,"node":14,"role":"declaration","source":0,"src_end":2817,"src_start":2636},{"artifact":0,"gen_end":20447,"gen_start":12225,"node":15,"role":"declaration","source":0,"src_end":3166,"src_start":2819},{"artifact":0,"gen_end":42522,"gen_start":20447,"node":16,"role":"declaration","source":0,"src_end":3606,"src_start":3168},{"artifact":0,"gen_end":42547,"gen_start":42522,"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":"d362aa768021aa2dd83c667dc02645c09c4d83bf11f19cf177b78333c496a983","source_id":"d2be97da88b1a6386d4ee4b445113733f7313bf80b514310a5cac27cc08a6232","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 736f09255..81fd6b511 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Budget.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Budget.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -17,13 +18,17 @@ namespace Reasoning.Budget public theorem tick_sound (T : Type) (s : (Prod (T) (Nat))) : (((Nat.blt (2) ((s).2)) = true) -> Spent (T) (s) (((s).1, (LexLeanRuntime.subtract ((s).2) (1) : Nat)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Spent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Spent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem tick_progress (T : Type) (s : (Prod (T) (Nat))) : (((Nat.blt (2) ((s).2)) = true) -> (Remaining (T) (((s).1, (LexLeanRuntime.subtract ((s).2) (1) : Nat))) < Remaining (T) (s))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Tick.guard (T : Type) (s : (Prod (T) (Nat))) : Bool := (Nat.blt (2) ((s).2)) @@ -37,13 +42,17 @@ public theorem Tick.apply_progress (T : Type) (s : (Prod (T) (Nat))) (__t : (Pro public theorem burn_sound (T : Type) (s : (Prod (T) (Nat))) (k : Nat) : ((((Nat.ble (k) ((s).2)) && (Nat.blt (0) (k))) = true) -> Spent (T) (s) (((s).1, (LexLeanRuntime.subtract ((s).2) (k) : Nat)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Spent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Spent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem burn_progress (T : Type) (s : (Prod (T) (Nat))) (k : Nat) : ((((Nat.ble (k) ((s).2)) && (Nat.blt (0) (k))) = true) -> (Remaining (T) (((s).1, (LexLeanRuntime.subtract ((s).2) (k) : Nat))) < Remaining (T) (s))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Burn.guard (T : Type) (s : (Prod (T) (Nat))) (k : Nat) : Bool := ((Nat.ble (k) ((s).2)) && (Nat.blt (0) (k))) @@ -62,7 +71,9 @@ public theorem Burn.apply_progress (T : Type) (s : (Prod (T) (Nat))) (k : Nat) ( public theorem empty_sound (T : Type) (x : T) (r : Nat) : ((emptyCheck (T) (x) (r) = true) -> Empty (T) (x) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Empty, emptyCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Empty, emptyCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Drained.sound (T : Type) : (LexLeanReasoning.Sound ((Reasoning.Budget.emptyCheck (T))) ((Reasoning.Budget.Empty (T)))) := @@ -71,7 +82,9 @@ public theorem Drained.sound (T : Type) : (LexLeanReasoning.Sound ((Reasoning.Bu public theorem allowance_bound (T : Type) (x : (Prod (T) (Nat))) : (Remaining (T) (((x).1, ((x).2 + 3))) < ((x).2 + 4)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Remaining, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Spend.Step (T : Type) where diff --git a/examples/reasoning/expected/build/modules/Reasoning/Clinic.lean b/examples/reasoning/expected/build/modules/Reasoning/Clinic.lean index df8336ba6..3727a6a83 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Clinic.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Clinic.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -59,7 +60,9 @@ public structure Chart where public theorem consistent_preserved (s : Chart) (t : Chart) : (Consistent (s) -> (Justified (s) (t) -> Consistent (t))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Findings.preserves : (LexLeanReasoning.Preserves ((Reasoning.Clinic.Justified)) ((Reasoning.Clinic.Consistent))) := @@ -68,13 +71,17 @@ public theorem Findings.preserves : (LexLeanReasoning.Preserves ((Reasoning.Clin public theorem fever_sound (s : Chart) : ((((Nat.beq ((s).fever) (0)) && feverish ((s).vitals)) = true) -> Justified (s) (({ vitals := (s).vitals, fever := 1, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem fever_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).fever) (0)) && feverish ((s).vitals)) = true) -> (Pending (({ vitals := (s).vitals, fever := 1, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Fever.guard (s : Reasoning.Clinic.Chart) : Bool := ((Nat.beq ((s).fever) (0)) && Reasoning.Clinic.feverish ((s).vitals)) @@ -88,13 +95,17 @@ public theorem Fever.apply_progress (s : Reasoning.Clinic.Chart) (__t : Reasonin public theorem tachycardia_sound (s : Chart) : ((((Nat.beq ((s).tachycardia) (0)) && tachycardic ((s).vitals)) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := 1, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem tachycardia_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).tachycardia) (0)) && tachycardic ((s).vitals)) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := 1, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Tachycardia.guard (s : Reasoning.Clinic.Chart) : Bool := ((Nat.beq ((s).tachycardia) (0)) && Reasoning.Clinic.tachycardic ((s).vitals)) @@ -108,13 +119,17 @@ public theorem Tachycardia.apply_progress (s : Reasoning.Clinic.Chart) (__t : Re public theorem tachypnea_sound (s : Chart) : ((((Nat.beq ((s).tachypnea) (0)) && tachypneic ((s).vitals)) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := 1, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem tachypnea_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).tachypnea) (0)) && tachypneic ((s).vitals)) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := 1, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Tachypnea.guard (s : Reasoning.Clinic.Chart) : Bool := ((Nat.beq ((s).tachypnea) (0)) && Reasoning.Clinic.tachypneic ((s).vitals)) @@ -128,13 +143,17 @@ public theorem Tachypnea.apply_progress (s : Reasoning.Clinic.Chart) (__t : Reas public theorem leukocytosis_sound (s : Chart) : ((((Nat.beq ((s).leukocytosis) (0)) && leukocytic ((s).vitals)) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := 1, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem leukocytosis_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).leukocytosis) (0)) && leukocytic ((s).vitals)) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := 1, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Leukocytosis.guard (s : Reasoning.Clinic.Chart) : Bool := ((Nat.beq ((s).leukocytosis) (0)) && Reasoning.Clinic.leukocytic ((s).vitals)) @@ -148,13 +167,17 @@ public theorem Leukocytosis.apply_progress (s : Reasoning.Clinic.Chart) (__t : R public theorem sirs_sound (s : Chart) : ((((Nat.beq ((s).sirs) (0)) && (Nat.ble (2) (((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := 1, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem sirs_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).sirs) (0)) && (Nat.ble (2) (((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := 1, sepsis := (s).sepsis, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Sirs.guard (s : Reasoning.Clinic.Chart) : Bool := ((Nat.beq ((s).sirs) (0)) && (Nat.ble (2) (((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) @@ -168,13 +191,17 @@ public theorem Sirs.apply_progress (s : Reasoning.Clinic.Chart) (__t : Reasoning public theorem sepsis_sound (s : Chart) : ((((Nat.beq ((s).sepsis) (0)) && ((Nat.beq ((s).sirs) (1)) && (Nat.beq (((s).vitals).infection) (1)))) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := 1, shock := (s).shock, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem sepsis_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).sepsis) (0)) && ((Nat.beq ((s).sirs) (1)) && (Nat.beq (((s).vitals).infection) (1)))) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := 1, shock := (s).shock, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Sepsis.guard (s : Reasoning.Clinic.Chart) : Bool := ((Nat.beq ((s).sepsis) (0)) && ((Nat.beq ((s).sirs) (1)) && (Nat.beq (((s).vitals).infection) (1)))) @@ -188,13 +215,17 @@ public theorem Sepsis.apply_progress (s : Reasoning.Clinic.Chart) (__t : Reasoni public theorem shock_sound (s : Chart) : ((((Nat.beq ((s).shock) (0)) && ((Nat.beq ((s).sepsis) (1)) && hypotensive ((s).vitals))) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := 1, level := (s).level } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem shock_progress (s : Chart) : (Consistent (s) -> ((((Nat.beq ((s).shock) (0)) && ((Nat.beq ((s).sepsis) (1)) && hypotensive ((s).vitals))) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := 1, level := (s).level } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Shock.guard (s : Reasoning.Clinic.Chart) : Bool := ((Nat.beq ((s).shock) (0)) && ((Nat.beq ((s).sepsis) (1)) && Reasoning.Clinic.hypotensive ((s).vitals))) @@ -208,13 +239,17 @@ public theorem Shock.apply_progress (s : Reasoning.Clinic.Chart) (__t : Reasonin public theorem escalate_sound (s : Chart) : ((((Nat.blt ((s).level) (3)) && (((Nat.beq ((s).level) (0)) && (Nat.beq ((s).sirs) (1))) || (((Nat.beq ((s).level) (1)) && (Nat.beq ((s).sepsis) (1))) || ((Nat.beq ((s).level) (2)) && (Nat.beq ((s).shock) (1)))))) = true) -> Justified (s) (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := ((s).level + 1) } : Chart))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Justified, Leukocytic, Tachycardic, Tachypneic, Warranted, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem escalate_progress (s : Chart) : (Consistent (s) -> ((((Nat.blt ((s).level) (3)) && (((Nat.beq ((s).level) (0)) && (Nat.beq ((s).sirs) (1))) || (((Nat.beq ((s).level) (1)) && (Nat.beq ((s).sepsis) (1))) || ((Nat.beq ((s).level) (2)) && (Nat.beq ((s).shock) (1)))))) = true) -> (Pending (({ vitals := (s).vitals, fever := (s).fever, tachycardia := (s).tachycardia, tachypnea := (s).tachypnea, leukocytosis := (s).leukocytosis, sirs := (s).sirs, sepsis := (s).sepsis, shock := (s).shock, level := ((s).level + 1) } : Chart)) < Pending (s)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, Pending, feverish, hypotensive, leukocytic, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Escalate.guard (s : Reasoning.Clinic.Chart) : Bool := ((Nat.blt ((s).level) (3)) && (((Nat.beq ((s).level) (0)) && (Nat.beq ((s).sirs) (1))) || (((Nat.beq ((s).level) (1)) && (Nat.beq ((s).sepsis) (1))) || ((Nat.beq ((s).level) (2)) && (Nat.beq ((s).shock) (1)))))) @@ -232,13 +267,17 @@ public theorem Escalate.apply_progress (s : Reasoning.Clinic.Chart) (__t : Reaso public theorem recommendation_sound (v : Vitals) (r : Nat) : ((recommendationCheck (v) (r) = true) -> Indicated (v) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Indicated, Leukocytic, Tachycardic, Tachypneic, feverish, hypotensive, leukocytic, recommendationCheck, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Indicated, Leukocytic, Tachycardic, Tachypneic, feverish, hypotensive, leukocytic, recommendationCheck, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem recommendation_complete (v : Vitals) (r : Nat) : (Indicated (v) (r) -> (recommendationCheck (v) (r) = true)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Indicated, Leukocytic, Tachycardic, Tachypneic, feverish, hypotensive, leukocytic, recommendationCheck, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Febrile, Hypotensive, Indicated, Leukocytic, Tachycardic, Tachypneic, feverish, hypotensive, leukocytic, recommendationCheck, tachycardic, tachypneic, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Recommendation.sound : (LexLeanReasoning.Sound ((Reasoning.Clinic.recommendationCheck)) ((Reasoning.Clinic.Indicated))) := @@ -253,7 +292,9 @@ public theorem Recommendation.complete : (LexLeanReasoning.Complete ((Reasoning. public theorem discharge_sound (v : Vitals) (r : Nat) : ((dischargeCheck (v) (r) = true) -> Discharged (v) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Discharged, dischargeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Discharged, dischargeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Outpatient.sound : (LexLeanReasoning.Sound ((Reasoning.Clinic.dischargeCheck)) ((Reasoning.Clinic.Discharged))) := @@ -262,13 +303,17 @@ public theorem Outpatient.sound : (LexLeanReasoning.Sound ((Reasoning.Clinic.dis public theorem admitted_consistent (patient : Vitals) : Consistent (({ vitals := patient, fever := 0, tachycardia := 0, tachypnea := 0, leukocytosis := 0, sirs := 0, sepsis := 0, shock := 0, level := 0 } : Chart)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Consistent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Consistent, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem admitted_pending (patient : Vitals) : (Pending (({ vitals := patient, fever := 0, tachycardia := 0, tachypnea := 0, leukocytosis := 0, sirs := 0, sepsis := 0, shock := 0, level := 0 } : Chart)) < 11) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Pending, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Pending, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Triage.Step where diff --git a/examples/reasoning/expected/build/modules/Reasoning/Main.lean b/examples/reasoning/expected/build/modules/Reasoning/Main.lean index e0aa25b49..881722ceb 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Main.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Main.lean @@ -4,6 +4,7 @@ public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Models public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws public import Reasoning.Budget public import Reasoning.Clinic public import Reasoning.Planner @@ -33,7 +34,9 @@ public theorem GatewayEvidence.gateway_safe : LexLeanModels.SatisfiesTotal ((Rea public theorem graded_sound (v : Reasoning.Clinic.Vitals) (r : Nat) : ((gradedCheck (v) (r) = true) -> Graded (v) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Reasoning.Clinic.Hypotensive, Reasoning.Clinic.hypotensive, Graded, gradedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Reasoning.Clinic.Hypotensive, Reasoning.Clinic.hypotensive, Graded, gradedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Scale.sound : (LexLeanReasoning.Sound ((Reasoning.Main.gradedCheck)) ((Reasoning.Main.Graded))) := @@ -50,19 +53,25 @@ public theorem grade_pending (v : Reasoning.Clinic.Vitals) : (Reasoning.Clinic.P public theorem related_admitted (v : Reasoning.Clinic.Vitals) : Related (v) (({ vitals := v, fever := 0, tachycardia := 0, tachypnea := 0, leukocytosis := 0, sirs := 0, sepsis := 0, shock := 0, level := 0 } : Reasoning.Clinic.Chart)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Reasoning.Clinic.Consistent, Reasoning.Clinic.Hypotensive, Reasoning.Clinic.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Reasoning.Clinic.Consistent, Reasoning.Clinic.Hypotensive, Reasoning.Clinic.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem related_preserved (v : Reasoning.Clinic.Vitals) (s : Reasoning.Clinic.Chart) (t : Reasoning.Clinic.Chart) : (Related (v) (s) -> (Reasoning.Clinic.Justified (s) (t) -> Related (v) (t))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Reasoning.Clinic.Consistent, Reasoning.Clinic.Febrile, Reasoning.Clinic.Hypotensive, Reasoning.Clinic.Justified, Reasoning.Clinic.Leukocytic, Reasoning.Clinic.Tachycardic, Reasoning.Clinic.Tachypneic, Reasoning.Clinic.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Reasoning.Clinic.Consistent, Reasoning.Clinic.Febrile, Reasoning.Clinic.Hypotensive, Reasoning.Clinic.Justified, Reasoning.Clinic.Leukocytic, Reasoning.Clinic.Tachycardic, Reasoning.Clinic.Tachypneic, Reasoning.Clinic.Warranted, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem grade_correct (v : Reasoning.Clinic.Vitals) (chart : Reasoning.Clinic.Chart) (r : Nat) : (Related (v) (chart) -> ((Option.some ((chart).level) = Option.some (r)) -> Graded (v) (r))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Reasoning.Clinic.Consistent, Reasoning.Clinic.Hypotensive, Reasoning.Clinic.Warranted, Graded, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Reasoning.Clinic.Consistent, Reasoning.Clinic.Hypotensive, Reasoning.Clinic.Warranted, Graded, Related, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Grade.Step where @@ -332,7 +341,9 @@ by public theorem capped_sound (v : Reasoning.Clinic.Vitals) (r : Nat) : ((cappedCheck (v) (r) = true) -> Capped (v) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Capped, cappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Capped, cappedCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Ceiling.sound : (LexLeanReasoning.Sound ((Reasoning.Main.cappedCheck)) ((Reasoning.Main.Capped))) := @@ -341,7 +352,9 @@ public theorem Ceiling.sound : (LexLeanReasoning.Sound ((Reasoning.Main.cappedCh public theorem cap_correct (v : Reasoning.Clinic.Vitals) (chart : Reasoning.Clinic.Chart) (r : Nat) : ((Option.some ((LexLeanRuntime.subtract (3) ((LexLeanRuntime.subtract (3) ((chart).level) : Nat)) : Nat)) = Option.some (r)) -> Capped (v) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Capped, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Capped, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Cap.Step where diff --git a/examples/reasoning/expected/build/modules/Reasoning/Planner.lean b/examples/reasoning/expected/build/modules/Reasoning/Planner.lean index c55a9197f..bc99a0a9e 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Planner.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Planner.lean @@ -3,6 +3,7 @@ public import Init public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -16,7 +17,9 @@ namespace Reasoning.Planner public theorem fits_kept (s : (Prod (Nat) (Nat))) (t : (Prod (Nat) (Nat))) : (Fits (s) -> (Moves (s) (t) -> Fits (t))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Pouring.preserves : (LexLeanReasoning.Preserves ((Reasoning.Planner.Moves)) ((Reasoning.Planner.Fits))) := @@ -25,7 +28,9 @@ public theorem Pouring.preserves : (LexLeanReasoning.Preserves ((Reasoning.Plann public theorem filla_sound (s : (Prod (Nat) (Nat))) : ((((Nat.blt ((s).1) (4)) && (Nat.ble ((s).2) (3))) = true) -> Moves (s) ((4, (s).2))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def FillA.guard (s : (Prod (Nat) (Nat))) : Bool := ((Nat.blt ((s).1) (4)) && (Nat.ble ((s).2) (3))) @@ -37,7 +42,9 @@ public theorem FillA.apply_sound (s : (Prod (Nat) (Nat))) (__t : (Prod (Nat) (Na public theorem emptyb_sound (s : (Prod (Nat) (Nat))) : ((((Nat.blt (0) ((s).2)) && (Nat.ble ((s).1) (4))) = true) -> Moves (s) (((s).1, 0))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def EmptyB.guard (s : (Prod (Nat) (Nat))) : Bool := ((Nat.blt (0) ((s).2)) && (Nat.ble ((s).1) (4))) @@ -49,7 +56,9 @@ public theorem EmptyB.apply_sound (s : (Prod (Nat) (Nat))) (__t : (Prod (Nat) (N public theorem pour_sound (s : (Prod (Nat) (Nat))) (k : Nat) : ((((Nat.ble (k) ((s).1)) && ((Nat.ble (((s).2 + k)) (3)) && (Nat.ble ((s).1) (4)))) = true) -> Moves (s) (((LexLeanRuntime.subtract ((s).1) (k) : Nat), ((s).2 + k)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Pour.guard (s : (Prod (Nat) (Nat))) (k : Nat) : Bool := ((Nat.ble (k) ((s).1)) && ((Nat.ble (((s).2 + k)) (3)) && (Nat.ble ((s).1) (4)))) @@ -66,7 +75,9 @@ public theorem Pour.apply_sound (s : (Prod (Nat) (Nat))) (k : Nat) (__t : (Prod public theorem measures_sound (target : Nat) (r : (Prod (Nat) (Nat))) : ((measuresCheck (target) (r) = true) -> Measures (target) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Measures, measuresCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Measures, measuresCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Measured.sound : (LexLeanReasoning.Sound ((Reasoning.Planner.measuresCheck)) ((Reasoning.Planner.Measures))) := @@ -75,7 +86,9 @@ public theorem Measured.sound : (LexLeanReasoning.Sound ((Reasoning.Planner.meas public theorem empty_jugs_fit (_target : Nat) : Fits ((0, 0)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive Plan.Step where @@ -314,7 +327,9 @@ by public theorem within_sound (target : Nat) (r : Nat) : ((withinCheck (target) (r) = true) -> Within (target) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Within, withinCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Within, withinCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Inside.sound : (LexLeanReasoning.Sound ((Reasoning.Planner.withinCheck)) ((Reasoning.Planner.Within))) := @@ -327,7 +342,9 @@ public theorem Inside.sound : (LexLeanReasoning.Sound ((Reasoning.Planner.within public theorem whole_sound (target : Nat) (r : Nat) : ((wholeCheck (target) (r) = true) -> Whole (target) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Whole, wholeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Whole, wholeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem Anywhere.sound : (LexLeanReasoning.Sound ((Reasoning.Planner.wholeCheck)) ((Reasoning.Planner.Whole))) := @@ -336,7 +353,9 @@ public theorem Anywhere.sound : (LexLeanReasoning.Sound ((Reasoning.Planner.whol public theorem plan_fit_correct (target : Nat) (s : (Prod (Nat) (Nat))) (v : Nat) : (Fits (s) -> ((Option.some ((s).1) = Option.some (v)) -> Within (target) (v))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, reducible] public def Held (target : Nat) (s : (Prod (Nat) (Nat))) : Prop := (Fits (s) /\ (((s).1 = target) -> (target <= 4))) @@ -344,25 +363,33 @@ public theorem plan_fit_correct (target : Nat) (s : (Prod (Nat) (Nat))) (v : Nat public theorem held_initial (target : Nat) : Held (target) ((0, 0)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Held, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Held, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem held_preserved (target : Nat) (s : (Prod (Nat) (Nat))) (t : (Prod (Nat) (Nat))) : (Held (target) (s) -> (Moves (s) (t) -> Held (target) (t))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Held, Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Held, Moves, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem plan_held_correct (target : Nat) (s : (Prod (Nat) (Nat))) (v : Nat) : (Held (target) (s) -> ((Option.some ((s).1) = Option.some (v)) -> Within (target) (v))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Fits, Held, Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Fits, Held, Within, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem plan_whole_correct (target : Nat) (s : (Prod (Nat) (Nat))) (v : Nat) : ((Option.some ((s).1) = Option.some (v)) -> Whole (target) (v)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Whole, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Whole, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public inductive PlanFit.Step where diff --git a/examples/reasoning/expected/build/modules/Reasoning/Screening.lean b/examples/reasoning/expected/build/modules/Reasoning/Screening.lean index 1fc5066b6..707d4141e 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Screening.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Screening.lean @@ -4,6 +4,7 @@ public import LexLeanRuntime.Portable public import LexLeanRuntime.Collections public import LexLeanRuntime.Models public import LexLeanRuntime.Reasoning +public import LexLeanRuntime.Laws set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 @@ -17,7 +18,9 @@ namespace Reasoning.Screening public theorem short_sound (w : Nat) (doses : List (Nat)) : ((shortCheck (w) (doses) = true) -> Short (w) (doses)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Short, shortCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Short, shortCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem DoseContract.postcondition_sound : LexLeanModels.Sound2 ((Reasoning.Screening.shortCheck)) ((Reasoning.Screening.Short)) := Reasoning.Screening.short_sound @@ -32,7 +35,9 @@ public theorem DoseContract.postcondition_sound : LexLeanModels.Sound2 ((Reasoni public theorem propose_sound (s : (Prod (Nat) (Nat))) (d : Nat) : ((((Nat.beq ((s).2) (0)) && (Nat.blt (0) (d))) = true) -> Proposed (s) (((s).1, d))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Proposed, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Proposed, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose] public def Propose.guard (s : (Prod (Nat) (Nat))) (d : Nat) : Bool := ((Nat.beq ((s).2) (0)) && (Nat.blt (0) (d))) @@ -49,7 +54,9 @@ public theorem Propose.apply_sound (s : (Prod (Nat) (Nat))) (d : Nat) (__t : (Pr public theorem safe_sound (w : Nat) (r : Nat) : ((safeCheck (w) (r) = true) -> Safe (w) (r)) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [Safe, safeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [Safe, safeCheck, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem SafeDose.sound : (LexLeanReasoning.Sound ((Reasoning.Screening.safeCheck)) ((Reasoning.Screening.Safe))) := diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Collections.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Collections.lean new file mode 100644 index 000000000..ae0a21413 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Collections.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..a3dd84ed2 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Laws.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Laws.lean new file mode 100644 index 000000000..3d95b8987 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Laws.lean @@ -0,0 +1,82 @@ +module +import LexLeanRuntime.Laws +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1.else_eq +#print axioms LexLeanCollections.lessThan.eq_1 +#print axioms LexLeanCollections.listFold.eq_1 +#print axioms LexLeanLaws.append_list +#print axioms LexLeanLaws.length_list +#print axioms LexLeanLaws.lessThan_int +#print axioms LexLeanLaws.lessThan_int16 +#print axioms LexLeanLaws.lessThan_int32 +#print axioms LexLeanLaws.lessThan_int64 +#print axioms LexLeanLaws.lessThan_int8 +#print axioms LexLeanLaws.lessThan_nat +#print axioms LexLeanLaws.lessThan_uint16 +#print axioms LexLeanLaws.lessThan_uint32 +#print axioms LexLeanLaws.lessThan_uint64 +#print axioms LexLeanLaws.lessThan_uint8 +#print axioms LexLeanLaws.listFold_add_int +#print axioms LexLeanLaws.listFold_add_int_self +#print axioms LexLeanLaws.listFold_add_nat +#print axioms LexLeanLaws.listFold_add_nat_self +#print axioms LexLeanLaws.listFold_append +#print axioms LexLeanLaws.listFold_cons +#print axioms LexLeanLaws.listFold_extend +#print axioms LexLeanLaws.listFold_fusion +#print axioms LexLeanLaws.listFold_nil +#print axioms LexLeanLaws.listFold_pair +#print axioms LexLeanLaws.listFold_prepend +#print axioms LexLeanLaws.listFold_sub_int +#print axioms LexLeanLaws.listFold_sub_int_self +#print axioms LexLeanLaws.mapEntries_self +#print axioms LexLeanLaws.mapFold_listFold +#print axioms LexLeanLaws.mapSize_length +#print axioms LexLeanLaws.quotient_int +#print axioms LexLeanLaws.quotient_nat +#print axioms LexLeanLaws.remainder_int +#print axioms LexLeanLaws.remainder_nat +#print axioms LexLeanLaws.setElements_self +#print axioms LexLeanLaws.setFold_listFold +#print axioms LexLeanLaws.setSize_length +#print axioms LexLeanLaws.sumInt +#print axioms LexLeanLaws.sumInt._f +#print axioms LexLeanLaws.sumInt._sunfold +#print axioms LexLeanLaws.sumInt._unsafe_rec +#print axioms LexLeanLaws.sumInt.eq_1 +#print axioms LexLeanLaws.sumInt.eq_2 +#print axioms LexLeanLaws.sumInt.eq_def +#print axioms LexLeanLaws.sumInt_add +#print axioms LexLeanLaws.sumInt_append +#print axioms LexLeanLaws.sumInt_cons +#print axioms LexLeanLaws.sumInt_const +#print axioms LexLeanLaws.sumInt_mul +#print axioms LexLeanLaws.sumInt_mul_right +#print axioms LexLeanLaws.sumInt_mul_self +#print axioms LexLeanLaws.sumInt_neg +#print axioms LexLeanLaws.sumInt_neg_self +#print axioms LexLeanLaws.sumInt_nil +#print axioms LexLeanLaws.sumInt_perm +#print axioms LexLeanLaws.sumInt_reverse +#print axioms LexLeanLaws.sumInt_sub +#print axioms LexLeanLaws.sumNat +#print axioms LexLeanLaws.sumNat._f +#print axioms LexLeanLaws.sumNat._sunfold +#print axioms LexLeanLaws.sumNat._unsafe_rec +#print axioms LexLeanLaws.sumNat.eq_1 +#print axioms LexLeanLaws.sumNat.eq_2 +#print axioms LexLeanLaws.sumNat.eq_def +#print axioms LexLeanLaws.sumNat.match_1 +#print axioms LexLeanLaws.sumNat_add +#print axioms LexLeanLaws.sumNat_append +#print axioms LexLeanLaws.sumNat_cons +#print axioms LexLeanLaws.sumNat_const +#print axioms LexLeanLaws.sumNat_mul +#print axioms LexLeanLaws.sumNat_mul_right +#print axioms LexLeanLaws.sumNat_mul_self +#print axioms LexLeanLaws.sumNat_nil +#print axioms LexLeanLaws.sumNat_perm +#print axioms LexLeanLaws.sumNat_reverse +#print axioms LexLeanLaws.tdiv_ediv +#print axioms LexLeanLaws.tmod_emod +#print axioms LexLeanRuntime.quotient.eq_1 +#print axioms LexLeanRuntime.remainder.eq_1 diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Laws.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Laws.process.json new file mode 100644 index 000000000..663ec88a7 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Laws.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext]\n'LexLeanCollections.listFold.eq_1' does not depend on any axioms\n'LexLeanLaws.append_list' does not depend on any axioms\n'LexLeanLaws.length_list' does not depend on any axioms\n'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_nat' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint16' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint32' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint64' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint8' depends on axioms: [propext]\n'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_cons' does not depend on any axioms\n'LexLeanLaws.listFold_extend' depends on axioms: [propext]\n'LexLeanLaws.listFold_fusion' does not depend on any axioms\n'LexLeanLaws.listFold_nil' does not depend on any axioms\n'LexLeanLaws.listFold_pair' does not depend on any axioms\n'LexLeanLaws.listFold_prepend' depends on axioms: [propext]\n'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.mapEntries_self' does not depend on any axioms\n'LexLeanLaws.mapFold_listFold' does not depend on any axioms\n'LexLeanLaws.mapSize_length' does not depend on any axioms\n'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.setElements_self' does not depend on any axioms\n'LexLeanLaws.setFold_listFold' does not depend on any axioms\n'LexLeanLaws.setSize_length' does not depend on any axioms\n'LexLeanLaws.sumInt' does not depend on any axioms\n'LexLeanLaws.sumInt._f' does not depend on any axioms\n'LexLeanLaws.sumInt._sunfold' does not depend on any axioms\n'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_1' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_2' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_def' does not depend on any axioms\n'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_cons' does not depend on any axioms\n'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul' depends on axioms: [propext]\n'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext]\n'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_nil' does not depend on any axioms\n'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat' does not depend on any axioms\n'LexLeanLaws.sumNat._f' does not depend on any axioms\n'LexLeanLaws.sumNat._sunfold' does not depend on any axioms\n'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_1' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_2' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_def' does not depend on any axioms\n'LexLeanLaws.sumNat.match_1' does not depend on any axioms\n'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_cons' does not depend on any axioms\n'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul' does not depend on any axioms\n'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul_self' does not depend on any axioms\n'LexLeanLaws.sumNat_nil' does not depend on any axioms\n'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.quotient.eq_1' does not depend on any axioms\n'LexLeanRuntime.remainder.eq_1' does not depend on any axioms\n","stdout_sha256":"a4ba2d39c9cdfd5e40c41c5ccf4726d937fd192fc042b74bb56cc0651e28919e","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Models.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Models.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Models.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Models.process.json new file mode 100644 index 000000000..1adf04648 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Models.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Portable.lean similarity index 100% rename from examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Portable.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Portable.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..759ce5af4 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Reasoning.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Reasoning.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Reasoning.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Reasoning.process.json new file mode 100644 index 000000000..80e33ab74 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Reasoning.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.LexLeanRuntime.Reasoning.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Budget.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Budget.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Budget.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Budget.process.json new file mode 100644 index 000000000..74e941b4a --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Budget.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Budget.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Clinic.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Clinic.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Clinic.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Clinic.process.json new file mode 100644 index 000000000..e60d45b81 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Clinic.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Clinic.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Main.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Main.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Main.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Main.process.json new file mode 100644 index 000000000..5b8b43eeb --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Planner.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Planner.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Planner.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Planner.process.json new file mode 100644 index 000000000..0a3c7da2f --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Planner.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Planner.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Screening.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Screening.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Screening.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Screening.process.json new file mode 100644 index 000000000..6db02da86 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Screening.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.Reasoning.Screening.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ad362aa768021aa2dd83c667dc02645c0.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.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.process.json deleted file mode 100644 index 43ea46086..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.process.json deleted file mode 100644 index 7a0bc620c..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.process.json deleted file mode 100644 index 34484e932..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.process.json deleted file mode 100644 index 9bbb5c9ac..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.process.json deleted file mode 100644 index d36438971..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.process.json deleted file mode 100644 index d30ff5358..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.process.json deleted file mode 100644 index 356d0a768..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.process.json deleted file mode 100644 index f8205284c..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.process.json deleted file mode 100644 index 69da90e15..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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 435de81da..ae57c37fe 100644 --- a/examples/reasoning/expected/verify/audit/output.txt +++ b/examples/reasoning/expected/verify/audit/output.txt @@ -101,6 +101,86 @@ '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 +'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext] +'LexLeanCollections.listFold.eq_1' does not depend on any axioms +'LexLeanLaws.append_list' does not depend on any axioms +'LexLeanLaws.length_list' does not depend on any axioms +'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_nat' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint16' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint32' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint64' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint8' depends on axioms: [propext] +'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_cons' does not depend on any axioms +'LexLeanLaws.listFold_extend' depends on axioms: [propext] +'LexLeanLaws.listFold_fusion' does not depend on any axioms +'LexLeanLaws.listFold_nil' does not depend on any axioms +'LexLeanLaws.listFold_pair' does not depend on any axioms +'LexLeanLaws.listFold_prepend' depends on axioms: [propext] +'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.mapEntries_self' does not depend on any axioms +'LexLeanLaws.mapFold_listFold' does not depend on any axioms +'LexLeanLaws.mapSize_length' does not depend on any axioms +'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.setElements_self' does not depend on any axioms +'LexLeanLaws.setFold_listFold' does not depend on any axioms +'LexLeanLaws.setSize_length' does not depend on any axioms +'LexLeanLaws.sumInt' does not depend on any axioms +'LexLeanLaws.sumInt._f' does not depend on any axioms +'LexLeanLaws.sumInt._sunfold' does not depend on any axioms +'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumInt.eq_1' does not depend on any axioms +'LexLeanLaws.sumInt.eq_2' does not depend on any axioms +'LexLeanLaws.sumInt.eq_def' does not depend on any axioms +'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_cons' does not depend on any axioms +'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul' depends on axioms: [propext] +'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext] +'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_nil' does not depend on any axioms +'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat' does not depend on any axioms +'LexLeanLaws.sumNat._f' does not depend on any axioms +'LexLeanLaws.sumNat._sunfold' does not depend on any axioms +'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumNat.eq_1' does not depend on any axioms +'LexLeanLaws.sumNat.eq_2' does not depend on any axioms +'LexLeanLaws.sumNat.eq_def' does not depend on any axioms +'LexLeanLaws.sumNat.match_1' does not depend on any axioms +'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_cons' does not depend on any axioms +'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul' does not depend on any axioms +'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul_self' does not depend on any axioms +'LexLeanLaws.sumNat_nil' does not depend on any axioms +'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.quotient.eq_1' does not depend on any axioms +'LexLeanRuntime.remainder.eq_1' 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 diff --git a/examples/reasoning/expected/verify/extract/LexLeanExtract.Xd362aa768021aa2dd83c667dc02645c0.lean b/examples/reasoning/expected/verify/extract/LexLeanExtract.Xd362aa768021aa2dd83c667dc02645c0.lean new file mode 100644 index 000000000..484e1a90a --- /dev/null +++ b/examples/reasoning/expected/verify/extract/LexLeanExtract.Xd362aa768021aa2dd83c667dc02645c0.lean @@ -0,0 +1,440 @@ +module +public meta import Lean +import all LexLeanRuntime.Portable +import all LexLeanRuntime.Collections +import all LexLeanRuntime.Models +import all LexLeanRuntime.Reasoning +import all LexLeanRuntime.Laws +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", "LexLeanRuntime.Laws", "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 deleted file mode 100644 index 3faf9948c..000000000 --- a/examples/reasoning/expected/verify/extract/LexLeanExtract.Xf04b35f2e1794332ed2a5b996f01296f.lean +++ /dev/null @@ -1,439 +0,0 @@ -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 a37044582..3efbe32b3 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.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"} +{"argv":["env","lean","$STAGING/extract/LexLeanExtract.Xd362aa768021aa2dd83c667dc02645c0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.Xd362aa768021aa2dd83c667dc02645c0","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/Cd362aa768021aa2dd83c667dc02645c0/R0.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0.lean new file mode 100644 index 000000000..a78ada9c4 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/Compose/RustCore.lean new file mode 100644 index 000000000..2159a4aa7 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/Compose/RustCore.lean @@ -0,0 +1,32 @@ +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0 +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore + +theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/RustCore.lean new file mode 100644 index 000000000..fdc26af27 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1.lean new file mode 100644 index 000000000..a6a0410cd --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/Compose/RustCore.lean new file mode 100644 index 000000000..daa0c4018 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/Compose/RustCore.lean @@ -0,0 +1,32 @@ +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1 +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore + +theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/RustCore.lean new file mode 100644 index 000000000..95961cf3c --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2.lean new file mode 100644 index 000000000..558e3010c --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/Compose/RustStd.lean new file mode 100644 index 000000000..c8fff2edc --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/Compose/RustStd.lean @@ -0,0 +1,38 @@ +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2 +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd + +theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/RustStd.lean new file mode 100644 index 000000000..7b511fbc9 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3.lean new file mode 100644 index 000000000..d1b4c95d2 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/Compose/RustStd.lean new file mode 100644 index 000000000..ee83efb42 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/Compose/RustStd.lean @@ -0,0 +1,30 @@ +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3 +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Reasoning.Planner.Plan.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.denote target) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.root target) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/RustStd.lean new file mode 100644 index 000000000..2b2d1f056 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4.lean new file mode 100644 index 000000000..739c657e3 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R4 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/Compose/RustStd.lean new file mode 100644 index 000000000..c02217025 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/Compose/RustStd.lean @@ -0,0 +1,22 @@ +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4 +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd + +theorem __wt_1 : ∀ (__s : (Reasoning.Screening.Dose.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R4.denote w) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R4.root w) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/RustStd.lean new file mode 100644 index 000000000..c88bd0ea3 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5.lean new file mode 100644 index 000000000..65815cc35 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/Compose/RustCore.lean new file mode 100644 index 000000000..f784c09dd --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/Compose/RustCore.lean @@ -0,0 +1,32 @@ +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5 +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore + +theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/RustCore.lean new file mode 100644 index 000000000..18209ab15 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6.lean new file mode 100644 index 000000000..68aa37f4b --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/Compose/RustStd.lean new file mode 100644 index 000000000..a0ed9e85c --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/Compose/RustStd.lean @@ -0,0 +1,28 @@ +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6 +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Reasoning.Screening.Screen.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.denote w) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.root w) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/RustStd.lean new file mode 100644 index 000000000..0491e5f62 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7.lean new file mode 100644 index 000000000..32d98302d --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R7 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/Compose/RustStd.lean new file mode 100644 index 000000000..523212e6c --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7 +import LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Reasoning.Budget.Spend.Step Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.program _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.krate _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.flags (_root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R7.denote x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R7.root x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/RustStd.lean new file mode 100644 index 000000000..387a4fcdb --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/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.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0.lean deleted file mode 100644 index 73c22bc72..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 75ce0aa70..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/Compose/RustCore.lean +++ /dev/null @@ -1,32 +0,0 @@ -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 deleted file mode 100644 index b37dfc8ad..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index b3f3832bb..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 549f68c17..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/Compose/RustCore.lean +++ /dev/null @@ -1,32 +0,0 @@ -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 deleted file mode 100644 index 7c3b3073e..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index cf4eac4be..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 0261b1357..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/Compose/RustStd.lean +++ /dev/null @@ -1,38 +0,0 @@ -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 deleted file mode 100644 index 645af640a..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 2c802a2ad..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 5b2febfc4..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/Compose/RustStd.lean +++ /dev/null @@ -1,30 +0,0 @@ -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 deleted file mode 100644 index 76bc7fb47..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 916a879d0..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index c892d34c5..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/Compose/RustStd.lean +++ /dev/null @@ -1,22 +0,0 @@ -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 deleted file mode 100644 index c5275c771..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index da4a6a021..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index fd9ddf35f..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/Compose/RustCore.lean +++ /dev/null @@ -1,32 +0,0 @@ -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 deleted file mode 100644 index 1aebad5d9..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index e165d6bbe..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 0a7881b03..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/Compose/RustStd.lean +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index e46d3a6be..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 8f49572de..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 deleted file mode 100644 index 6e426ed3b..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index d36bfe445..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/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.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 6db191566..c29e9a669 100644 --- a/examples/reasoning/expected/verify/preserve/audit.txt +++ b/examples/reasoning/expected/verify/preserve/audit.txt @@ -7737,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.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, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -- statement vocabulary diff --git a/examples/reasoning/expected/verify/preserve/preservation.json b/examples/reasoning/expected/verify/preserve/preservation.json index bf5d9ae1c..fbe7da59d 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":"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"} +{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"02de6e4be5a6ae43997bacd3713ea587693b8ac66da4aef567463a535a076ff3"},"roots":[{"byte_length":141533,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0","program":{"byte_length":36186,"sha256":"3f39f0a6f1b7639eb1a021d09aa351a8a51cde520fe0d8fcb48317283f1e3d63"},"renderings":[{"byte_length":187486,"composed":{"byte_length":6698,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore","sha256":"94bafb37efcc4de3bd8a7077ff954fe4264826022dafda0dd2cbca1801dad3da","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.root"},"crate":{"byte_length":25957,"sha256":"373227b883bed3b90092ff7c99c97a8a2479213d7c773852355fff7648beaf0e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore","sha256":"b3292aeb8d96397f1b7b2b594742355573025c1afe94a3930c7e9250640c1ae9","target":"rust-core","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.root"}],"root":"Reasoning.Main.triageLevel","sha256":"ef5ec5c38219330c4ca962218877620efc25cd79931b22cbb99a29062471cf07","targets":["rust-core"],"theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.root"},{"byte_length":143432,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1","program":{"byte_length":36679,"sha256":"9e2f7386e9b0f0c3f8861e9e54bba15353cc8c7b465664f5e992b8210e83815f"},"renderings":[{"byte_length":188860,"composed":{"byte_length":6698,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore","sha256":"80d1c5d683764796c8ff37ff37cc4f8e48cb361f7ef6596a58c6cff8250fec2b","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.root"},"crate":{"byte_length":26098,"sha256":"ac88de1419f5c1f6ed9e589a800cfc4afcf42b55c77f46b29c439164d44f68c7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore","sha256":"98f520e85458da841cd92d9b38bc42041e0c499297397711a70572c438941e07","target":"rust-core","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.root"}],"root":"Reasoning.Main.gatewayLevel","sha256":"28a28aff1df4a948ec949df7dac5f5d027cd0880c00cc59d4d2eed8bfb01867b","targets":["rust-core"],"theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.root"},{"byte_length":189369,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2","program":{"byte_length":47876,"sha256":"2a46e167d6afdf96fd1c4ed4ddd462c30eb1ab849e08b0847f3c4aa87ab5fd0a"},"renderings":[{"byte_length":283431,"composed":{"byte_length":8531,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd","sha256":"65eebae5d5f2a49fe321837d9fa04c88576427f999262eb3c1addc4bf4b15d89","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.root"},"crate":{"byte_length":45349,"sha256":"5cdcbdf73202f418deae91f5ed3daf71e8457190441c122784ee1fa157a61251"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd","sha256":"e358225e2a8e1ae60cfff8d5e7ee0d862d949d9335f28cbf5123a7389396be70","target":"rust-std","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.root"}],"root":"Reasoning.Main.triageSteps","sha256":"271092ab4b8ae3d66ea97066255ad3828a9c0eb7d56e317e48f8a642f6d63409","targets":["rust-std"],"theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.root"},{"byte_length":153403,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3","program":{"byte_length":41744,"sha256":"9a5f37cae3bc362991271aa26ace2db53c7ca9c38618a34455fbc70882ae476d"},"renderings":[{"byte_length":230142,"composed":{"byte_length":5565,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd","sha256":"94fb9311c3849cda2e6c6a71286e269723e604aea52954f8235ed37e9061daa5","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.root"},"crate":{"byte_length":39550,"sha256":"b66e8320820654694b9a745a745a90017dcfa9a7713e85d44d8257fd7d3d9c51"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd","sha256":"3040c2e7797567daaa6d462a9a5e030a1b3f23b790ddfec0d418b19bc4f56498","target":"rust-std","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.root"}],"root":"Reasoning.Main.planLeft","sha256":"dc36866c6add14a77355ee87f161623f06dddb1f5df0fc1b78bf164f28ce18cf","targets":["rust-std"],"theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.root"},{"byte_length":42541,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4","program":{"byte_length":11798,"sha256":"3a65f411f6eb41c898bd2f895719b295fbc8afaefc20212dfc8e111f582a3db5"},"renderings":[{"byte_length":62656,"composed":{"byte_length":3403,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd","sha256":"20c9e8f44ecfc88941271eeff18bda9b263fad0f4e81f71cf9f3b8b989777e61","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.root"},"crate":{"byte_length":20147,"sha256":"7ffb7b92f94e45432a616d2778e61294d980f58e03d30392ae519e3002aaa41b"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd","sha256":"1e31b7d03377bad3ed695bc53569440b4327226c3f994f82e7ff05430457d17c","target":"rust-std","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.root"}],"root":"Reasoning.Main.doseLevel","sha256":"0a70362d06e29d5353f0fff01b54a1ec7da78f5ed14e104f27a5285b1f0b8b84","targets":["rust-std"],"theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.root"},{"byte_length":130194,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5","program":{"byte_length":33983,"sha256":"96c393acd11d0f45f881f960db3eba8734d1115aa71b0b73b3e73d13f08a0488"},"renderings":[{"byte_length":175999,"composed":{"byte_length":6671,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore","sha256":"023184a2d59c30f591af25df25c0b2fc2856767320c86c85f4abbab05e583f77","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.root"},"crate":{"byte_length":24856,"sha256":"e759aefcfa353eb5202d08cc08c7dcc378cd0994d8be42bca802c174d340d28d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore","sha256":"3f34480cd1677cd7e25d102d6320707ef406d74292fb081e7147757886f2ffa9","target":"rust-core","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.root"}],"root":"Reasoning.Main.gradeLevel","sha256":"4c086c0e9c320c8fc6d81606254b758a76ae01db9f647d6c3b0983e117e3123a","targets":["rust-core"],"theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.root"},{"byte_length":115327,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6","program":{"byte_length":28344,"sha256":"8c9c2a16fb25398ae97777f69e934175246b5e37acece648c6661c6f3dfc7282"},"renderings":[{"byte_length":164251,"composed":{"byte_length":4998,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd","sha256":"a9eb4d2ac3591cbbbe1eb27d59cf503ff8188bd32a91d58a456c5d615f80f297","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.root"},"crate":{"byte_length":32915,"sha256":"224dabc5daa77c8128eb9d49f2dcd528155354328a75b0129ec1818f247b918c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd","sha256":"07d71e2e5214bd98875fa3c0feaa7ceb5bcbc0eecd345d112e52eacd3adb6710","target":"rust-std","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.root"}],"root":"Reasoning.Main.screenDose","sha256":"73966392b6fb465021fe98435b3e731ab0dbfbde5762eb9d4ab5418e9bd6e247","targets":["rust-std"],"theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.root"},{"byte_length":60908,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7","program":{"byte_length":16614,"sha256":"bf95bba329a7f73d9a7036f8fd91df829a4b615b2c3a7249c9998238687ecfee"},"renderings":[{"byte_length":57695,"composed":{"byte_length":2228,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd","sha256":"3f9658affd30526f74e433f213df2c4cde7a4db59a3a0325577b48810cd185af","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd.root"},"crate":{"byte_length":18308,"sha256":"2d2db53b580aa55f9a76a185cbcde3ca8a0689b2607c2f3fc11e2b94fb89ac8d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd","sha256":"b9376b70afd82a58393cf76078d639659279bb3ce24250b811bda109ca89a534","target":"rust-std","theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.root"}],"root":"Reasoning.Main.spendLeft","sha256":"aba2dd6df3b437bfec527349f171fc61ee59138a01e0812020386b65eb2ed227","targets":["rust-std"],"theorem":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.root"}],"spec":"lexlean/preservation/1"} diff --git a/examples/recursion/expected/verify/probe/LexLeanProbe.P62a4917de7189dfc7d3f0beb388b4bca.lean b/examples/reasoning/expected/verify/probe/LexLeanProbe.Pd362aa768021aa2dd83c667dc02645c0.lean similarity index 100% rename from examples/recursion/expected/verify/probe/LexLeanProbe.P62a4917de7189dfc7d3f0beb388b4bca.lean rename to examples/reasoning/expected/verify/probe/LexLeanProbe.Pd362aa768021aa2dd83c667dc02645c0.lean diff --git a/examples/reasoning/expected/verify/probe/process.json b/examples/reasoning/expected/verify/probe/process.json index bfafc1c12..f103fc982 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.Pf04b35f2e1794332ed2a5b996f01296f.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pf04b35f2e1794332ed2a5b996f01296f","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pd362aa768021aa2dd83c667dc02645c0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pd362aa768021aa2dd83c667dc02645c0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Laws.json b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..b6b4cff9f --- /dev/null +++ b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Laws.olean","$STAGING/lean-src/LexLeanRuntime/Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.json new file mode 100644 index 000000000..6bbd64262 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.json new file mode 100644 index 000000000..04319e959 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.json new file mode 100644 index 000000000..d310b0c46 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.json new file mode 100644 index 000000000..91f4c47fe --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.json new file mode 100644 index 000000000..9931ec89d --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.json new file mode 100644 index 000000000..ec4dfd7ee --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.json new file mode 100644 index 000000000..e7ffd82bd --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.json new file mode 100644 index 000000000..fb1bf6630 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.json new file mode 100644 index 000000000..278fa8947 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.json new file mode 100644 index 000000000..29e8368a8 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.json new file mode 100644 index 000000000..030ab3193 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.json new file mode 100644 index 000000000..62dbc8f8b --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.json new file mode 100644 index 000000000..ae8f414dc --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.json new file mode 100644 index 000000000..9a09fec60 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.json new file mode 100644 index 000000000..7aa1ff75f --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.json new file mode 100644 index 000000000..89c5f9d2a --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.json new file mode 100644 index 000000000..443316a81 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.json new file mode 100644 index 000000000..7d504fb9e --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.json new file mode 100644 index 000000000..38d15dfbd --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.json new file mode 100644 index 000000000..a69ed4e4a --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.json new file mode 100644 index 000000000..494601082 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd.json new file mode 100644 index 000000000..7bb97b2dc --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.json new file mode 100644 index 000000000..b9574b153 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.json new file mode 100644 index 000000000..b0a8a37ad --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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 deleted file mode 100644 index 147b84db1..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f944b6fd4..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e72f10fca..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a29cfca98..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3af57038c..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 49bc89f6a..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 31aa19e41..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 90c975ac8..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6920bf2e0..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index ac9625aa9..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 84ee700c5..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 8e97e0c43..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 59916dbb3..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 35eb183f5..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 441983c22..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 6f47d508a..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 67b72bbac..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1b2b65653..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index dc8727c39..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 449a1d36d..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a19c2f897..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 72a6040c3..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 4ab9cb30f..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 5aaab8b19..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Laws.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..650bb0ba4 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Laws"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","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 de890dd52..428f02219 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'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"} +{"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.Cd362aa768021aa2dd83c667dc02645c0.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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":"5ecb957cb5fecf7fa781cf9bfb47a5ea76b2b76ed29ec53a8ae018af4bf81b1d","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.json new file mode 100644 index 000000000..d2915228c --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.json new file mode 100644 index 000000000..82f7f448f --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.json new file mode 100644 index 000000000..627d5d636 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.json new file mode 100644 index 000000000..a93b7472a --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.json new file mode 100644 index 000000000..8e1cd65d2 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.json new file mode 100644 index 000000000..c1e697316 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.json new file mode 100644 index 000000000..a18e47a02 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.json new file mode 100644 index 000000000..ce7969e73 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.json new file mode 100644 index 000000000..ba9448a77 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.json new file mode 100644 index 000000000..2edc4972b --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.json new file mode 100644 index 000000000..1eeca6049 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.json new file mode 100644 index 000000000..51cfe784e --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.json new file mode 100644 index 000000000..28d52d77e --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.json new file mode 100644 index 000000000..987d3719f --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.json new file mode 100644 index 000000000..3c630c3ad --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.json new file mode 100644 index 000000000..fc65bc717 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.json new file mode 100644 index 000000000..d94efc5ed --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.json new file mode 100644 index 000000000..6f13ac672 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.json new file mode 100644 index 000000000..2f5734f0a --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.json new file mode 100644 index 000000000..a3231f720 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.json new file mode 100644 index 000000000..be53b0ccd --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd.json new file mode 100644 index 000000000..b95906d0c --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.json new file mode 100644 index 000000000..42eedb4ff --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.json new file mode 100644 index 000000000..ea81a9d5d --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.R7.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7.olean","$STAGING/preserve-src/LexLeanPreserve/Cd362aa768021aa2dd83c667dc02645c0/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cd362aa768021aa2dd83c667dc02645c0.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 deleted file mode 100644 index ed788f95a..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 28f4dbd78..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index fdecfd4c9..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 801b7e1c0..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index f34ac0a5e..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 04db72590..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1c1ddf85a..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index b0b61bd1b..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 7613cecd1..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 3015323d9..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 82e15b8eb..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 10fdd3de5..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 48915e811..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index c00682e0c..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a1126170f..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index dc0b71922..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 0ae787dd2..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 624c108b9..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index a08c16ee2..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 24f6ea4a3..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index e335d54f1..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 639438155..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 665eb79c5..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 36cd10d43..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"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/lexlean.lock b/examples/reasoning/lexlean.lock index e9c348864..6920b01e4 100644 --- a/examples/reasoning/lexlean.lock +++ b/examples/reasoning/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 893ee3f69..9f0038c18 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":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"} +{"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":300,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":518,"byte_start":300,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":765,"byte_start":518,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1132,"byte_start":765,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1365,"byte_start":1132,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1666,"byte_start":1365,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1833,"byte_start":1666,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1998,"byte_start":1833,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5081,"byte_start":1998,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5494,"byte_start":5081,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8614,"byte_start":5494,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9129,"byte_start":8614,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12310,"byte_start":9129,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12857,"byte_start":12310,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13155,"byte_start":12857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13461,"byte_start":13155,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13527,"byte_start":13461,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13599,"byte_start":13527,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13674,"byte_start":13599,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13746,"byte_start":13674,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13958,"byte_start":13746,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17187,"byte_start":13958,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20539,"byte_start":17187,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21432,"byte_start":20539,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21677,"byte_start":21432,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24987,"byte_start":21677,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25744,"byte_start":24987,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25977,"byte_start":25744,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27070,"byte_start":25977,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27363,"byte_start":27070,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27752,"byte_start":27363,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28363,"byte_start":27752,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31414,"byte_start":28363,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34541,"byte_start":31414,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34889,"byte_start":34541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35266,"byte_start":34889,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35326,"byte_start":35266,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35346,"byte_start":35326,"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 2a52065f4..be7aa8e05 100644 --- a/examples/recursion/expected/build/manifest.json +++ b/examples/recursion/expected/build/manifest.json @@ -1 +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"} +{"build_id":"961c0cdfe3f66b6b5d74eff16e89062e0a8181b1ffc7b184b7fb880f42671365","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"68fcc564384269d9ffe813d9fdc74025be9b1dc184f0be7c7853c75a12e66140"},{"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":16931,"kind":"coverage","path":"coverage/Recursion/Main.coverage.json","sha256":"c13cea825261ba24cbd8c97926de1526197431862fc4056b10d22c1a07fc50e3"},{"byte_length":7661,"kind":"coverage","path":"coverage/Recursion/Syntax.coverage.json","sha256":"ae25a6b2719475a6be93ea19b2c06d5cab04e4e113d84484061047fc72acd3c0"},{"byte_length":35346,"kind":"lean","path":"modules/Recursion/Main.lean","sha256":"8d70ac7dc493644bf6f756c9eb58a607b62dcd1540e2a7928ef2dac66d70f21d"},{"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":12708,"kind":"map","path":"maps/Recursion/Main.map.json","sha256":"fd6d45969f910d672dec4d5ac8338e8691befd338e69c2fdd18a87a4a53c77ba"},{"byte_length":2282,"kind":"map","path":"maps/Recursion/Syntax.map.json","sha256":"fa6dd71d94fe7961185a8290635277184f817a002242f8f51ffee5b7a07dd269"},{"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":"aedbe3f7f48679a80b9c8f9120461d6880e41571e23a8c8b8d54ebcc27984afb","source_id":"96ebe5221a425a92d4cedf51a28318fbbd1d485c79126e8ed6bdb43a66efe315","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 38e5f09b7..75f330706 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":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"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Recursion/Main.lean"},{"id":1,"kind":"tex","path":"modules/Recursion/Main.tex"}],"mappings":[{"artifact":0,"gen_end":300,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":12276,"src_start":0},{"artifact":0,"gen_end":518,"gen_start":300,"node":1,"role":"declaration","source":0,"src_end":396,"src_start":135},{"artifact":0,"gen_end":765,"gen_start":518,"node":2,"role":"declaration","source":0,"src_end":703,"src_start":398},{"artifact":0,"gen_end":1132,"gen_start":765,"node":3,"role":"declaration","source":0,"src_end":1092,"src_start":705},{"artifact":0,"gen_end":1365,"gen_start":1132,"node":4,"role":"declaration","source":0,"src_end":1375,"src_start":1094},{"artifact":0,"gen_end":1666,"gen_start":1365,"node":5,"role":"declaration","source":0,"src_end":1869,"src_start":1377},{"artifact":0,"gen_end":1833,"gen_start":1666,"node":6,"role":"declaration","source":0,"src_end":2076,"src_start":1871},{"artifact":0,"gen_end":1998,"gen_start":1833,"node":7,"role":"declaration","source":0,"src_end":2284,"src_start":2078},{"artifact":0,"gen_end":5081,"gen_start":1998,"node":8,"role":"declaration","source":0,"src_end":2515,"src_start":2286},{"artifact":0,"gen_end":5494,"gen_start":5081,"node":9,"role":"declaration","source":0,"src_end":2805,"src_start":2517},{"artifact":0,"gen_end":8614,"gen_start":5494,"node":10,"role":"declaration","source":0,"src_end":3065,"src_start":2807},{"artifact":0,"gen_end":9129,"gen_start":8614,"node":11,"role":"declaration","source":0,"src_end":3398,"src_start":3067},{"artifact":0,"gen_end":12310,"gen_start":9129,"node":12,"role":"declaration","source":0,"src_end":3705,"src_start":3400},{"artifact":0,"gen_end":12857,"gen_start":12310,"node":13,"role":"declaration","source":0,"src_end":4042,"src_start":3707},{"artifact":0,"gen_end":13155,"gen_start":12857,"node":14,"role":"declaration","source":0,"src_end":4339,"src_start":4044},{"artifact":0,"gen_end":13461,"gen_start":13155,"node":15,"role":"declaration","source":0,"src_end":4646,"src_start":4341},{"artifact":0,"gen_end":13527,"gen_start":13461,"node":16,"role":"declaration","source":0,"src_end":4740,"src_start":4648},{"artifact":0,"gen_end":13599,"gen_start":13527,"node":17,"role":"declaration","source":0,"src_end":4881,"src_start":4742},{"artifact":0,"gen_end":13674,"gen_start":13599,"node":18,"role":"declaration","source":0,"src_end":5025,"src_start":4883},{"artifact":0,"gen_end":13746,"gen_start":13674,"node":19,"role":"declaration","source":0,"src_end":5164,"src_start":5027},{"artifact":0,"gen_end":13958,"gen_start":13746,"node":20,"role":"declaration","source":0,"src_end":5429,"src_start":5166},{"artifact":0,"gen_end":17187,"gen_start":13958,"node":21,"role":"declaration","source":0,"src_end":5791,"src_start":5431},{"artifact":0,"gen_end":20539,"gen_start":17187,"node":22,"role":"declaration","source":0,"src_end":6267,"src_start":5793},{"artifact":0,"gen_end":21432,"gen_start":20539,"node":23,"role":"declaration","source":0,"src_end":6889,"src_start":6269},{"artifact":0,"gen_end":21677,"gen_start":21432,"node":24,"role":"declaration","source":0,"src_end":7181,"src_start":6891},{"artifact":0,"gen_end":24987,"gen_start":21677,"node":25,"role":"declaration","source":0,"src_end":7621,"src_start":7183},{"artifact":0,"gen_end":25744,"gen_start":24987,"node":26,"role":"declaration","source":0,"src_end":8130,"src_start":7623},{"artifact":0,"gen_end":25977,"gen_start":25744,"node":27,"role":"declaration","source":0,"src_end":8410,"src_start":8132},{"artifact":0,"gen_end":27070,"gen_start":25977,"node":28,"role":"declaration","source":0,"src_end":9533,"src_start":8412},{"artifact":0,"gen_end":27363,"gen_start":27070,"node":29,"role":"declaration","source":0,"src_end":9869,"src_start":9535},{"artifact":0,"gen_end":27752,"gen_start":27363,"node":30,"role":"declaration","source":0,"src_end":10494,"src_start":9871},{"artifact":0,"gen_end":28363,"gen_start":27752,"node":31,"role":"declaration","source":0,"src_end":11051,"src_start":10496},{"artifact":0,"gen_end":31414,"gen_start":28363,"node":32,"role":"declaration","source":0,"src_end":11266,"src_start":11053},{"artifact":0,"gen_end":34541,"gen_start":31414,"node":33,"role":"declaration","source":0,"src_end":11529,"src_start":11268},{"artifact":0,"gen_end":34889,"gen_start":34541,"node":34,"role":"declaration","source":0,"src_end":11810,"src_start":11531},{"artifact":0,"gen_end":35266,"gen_start":34889,"node":35,"role":"declaration","source":0,"src_end":12109,"src_start":11812},{"artifact":0,"gen_end":35326,"gen_start":35266,"node":36,"role":"declaration","source":0,"src_end":12240,"src_start":12111},{"artifact":0,"gen_end":35346,"gen_start":35326,"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":"aedbe3f7f48679a80b9c8f9120461d6880e41571e23a8c8b8d54ebcc27984afb","source_id":"96ebe5221a425a92d4cedf51a28318fbbd1d485c79126e8ed6bdb43a66efe315","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 c5e4cd7cc..a82e74817 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":"62a4917de7189dfc7d3f0beb388b4bcaa0a9f5e6f8a609d96c68771b8c42dfa7","source_id":"645fa12b7048c74f992f6981ee34ac81cba33dc26d1e021a24c4c28a0e6c642e","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":"aedbe3f7f48679a80b9c8f9120461d6880e41571e23a8c8b8d54ebcc27984afb","source_id":"96ebe5221a425a92d4cedf51a28318fbbd1d485c79126e8ed6bdb43a66efe315","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 53cfc3b0d..d9bc26955 100644 --- a/examples/recursion/expected/build/modules/Recursion/Main.lean +++ b/examples/recursion/expected/build/modules/Recursion/Main.lean @@ -1,6 +1,7 @@ module public import Init public import LexLeanRuntime.Portable +public import LexLeanRuntime.Laws public import Recursion.Syntax set_option autoImplicit false set_option maxRecDepth 100000 @@ -51,7 +52,9 @@ end public theorem countdown_decreases (number : Nat) (_steps : Nat) : (((Nat.blt (number) (2)) = false) -> ((LexLeanRuntime.subtract (number) (2) : Nat) < number)) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def countdown (number : Nat) (steps : Nat) : Nat := (match (generalizing := false) __decrease0 : (Nat.blt (number) (2)) with | true => steps | false => countdown ((LexLeanRuntime.subtract (number) (2) : Nat)) ((steps + 1))) @@ -60,7 +63,9 @@ decreasing_by all_goals first | (have __evidence := countdown_decreases (number) public theorem reduce_decreases (value : Nat) (bound : Nat) : (((Nat.beq (bound) (0)) = false) -> (((Nat.blt (value) (bound)) = false) -> ((LexLeanRuntime.subtract (value) (bound) : Nat) < value))) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def reduce (value : Nat) (bound : Nat) : Nat := (match (generalizing := false) __decrease0 : (Nat.beq (bound) (0)) with | true => value | false => (match (generalizing := false) __decrease1 : (Nat.blt (value) (bound)) with | true => value | false => reduce ((LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))) @@ -69,7 +74,9 @@ decreasing_by all_goals first | (have __evidence := reduce_decreases (value) (bo public theorem search_decreases (target : Nat) (low : Nat) (high : Nat) : (((Nat.blt (low) (high)) = true) -> (((Nat.ble (target) ((low + low))) = false) -> ((LexLeanRuntime.subtract (high) ((low + 1)) : Nat) < (LexLeanRuntime.subtract (high) (low) : Nat)))) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def search (target : Nat) (low : Nat) (high : Nat) : Nat := (match (generalizing := false) __decrease0 : (Nat.blt (low) (high)) with | true => (match (generalizing := false) __decrease1 : (Nat.ble (target) ((low + low))) with | true => low | false => search (target) ((low + 1)) (high)) | false => high) @@ -101,13 +108,17 @@ public theorem search_first : (search (7) (0) (10) = 4) := by public theorem reassociate_literal (term : Recursion.Syntax.Term) (left : Recursion.Syntax.Term) (right : Recursion.Syntax.Term) (value : Nat) : ((term = Recursion.Syntax.Term.plus (left) (right)) -> ((left = Recursion.Syntax.Term.literal (value)) -> (weight (right) < weight (term)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem reassociate_plus (term : Recursion.Syntax.Term) (left : Recursion.Syntax.Term) (right : Recursion.Syntax.Term) (inner : Recursion.Syntax.Term) (rest : Recursion.Syntax.Term) : ((term = Recursion.Syntax.Term.plus (left) (right)) -> ((left = Recursion.Syntax.Term.plus (inner) (rest)) -> (weight (Recursion.Syntax.Term.plus (inner) (Recursion.Syntax.Term.plus (rest) (right))) < weight (term)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def reassociate (term : Recursion.Syntax.Term) : Recursion.Syntax.Term := (match (generalizing := false) __decrease0 : term with | Recursion.Syntax.Term.literal value => Recursion.Syntax.Term.literal (value) | Recursion.Syntax.Term.plus left right => (match (generalizing := false) __decrease1 : left with | Recursion.Syntax.Term.literal value => Recursion.Syntax.Term.plus (Recursion.Syntax.Term.literal (value)) (reassociate (right)) | Recursion.Syntax.Term.plus inner rest => reassociate (Recursion.Syntax.Term.plus (inner) (Recursion.Syntax.Term.plus (rest) (right))))) @@ -120,7 +131,9 @@ public theorem reassociate_weight : (weight (reassociate (Recursion.Syntax.Term. public theorem prune_plus (term : Recursion.Syntax.Term) (left : Recursion.Syntax.Term) (right : Recursion.Syntax.Term) (inner : Recursion.Syntax.Term) (rest : Recursion.Syntax.Term) : ((term = Recursion.Syntax.Term.plus (left) (right)) -> ((left = Recursion.Syntax.Term.plus (inner) (rest)) -> (weight (Recursion.Syntax.Term.plus (inner) (right)) < weight (term)))) := by intros subst_vars - try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [weight, ← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega @[expose, semireducible] public def prune (term : Recursion.Syntax.Term) : Recursion.Syntax.Term := (match (generalizing := false) __decrease0 : term with | Recursion.Syntax.Term.literal value => Recursion.Syntax.Term.literal (value) | Recursion.Syntax.Term.plus left right => (match (generalizing := false) __decrease1 : left with | Recursion.Syntax.Term.literal _ => prune (right) | Recursion.Syntax.Term.plus inner _ => prune (Recursion.Syntax.Term.plus (inner) (right)))) @@ -153,12 +166,16 @@ public theorem folding_sample : (foldExpr (Recursion.Syntax.Expr.block ((Recursi public theorem ping_to_pong (number : Nat) : (((Nat.beq (number) (0)) = false) -> ((number + number) < ((number + number) + 1))) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega public theorem pong_to_ping (number : Nat) : (((Nat.beq (number) (0)) = false) -> ((((LexLeanRuntime.subtract (number) (1) : Nat) + (LexLeanRuntime.subtract (number) (1) : Nat)) + 1) < (number + number))) := by intros - try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply] at * + try set_option linter.unusedSimpArgs false in simp only [← Bool.not_eq_true, Bool.and_eq_true, Bool.or_eq_true, Bool.not_eq_true', and_true, true_and, Option.some.injEq, Nat.beq_eq, Nat.blt_eq, Nat.ble_eq, LexLeanRuntime.subtract, LexLeanRuntime.multiply, LexLeanRuntime.negate, LexLeanRuntime.equal, beq_iff_eq, decide_eq_true_eq, decide_eq_false_iff_not, Nat.add_assoc, Int.add_assoc, Int.neg_neg, Int.emod_neg, Int.neg_zero, ↓reduceIte, LexLeanLaws.lessThan_nat, LexLeanLaws.lessThan_int, LexLeanLaws.lessThan_int8, LexLeanLaws.lessThan_int16, LexLeanLaws.lessThan_int32, LexLeanLaws.lessThan_int64, LexLeanLaws.lessThan_uint8, LexLeanLaws.lessThan_uint16, LexLeanLaws.lessThan_uint32, LexLeanLaws.lessThan_uint64, LexLeanLaws.quotient_nat, LexLeanLaws.quotient_int, LexLeanLaws.remainder_nat, LexLeanLaws.remainder_int, LexLeanLaws.tdiv_ediv, LexLeanLaws.tmod_emod, LexLeanLaws.length_list, LexLeanLaws.append_list, LexLeanLaws.setFold_listFold, LexLeanLaws.mapFold_listFold, LexLeanLaws.setSize_length, LexLeanLaws.mapSize_length, LexLeanLaws.setElements_self, LexLeanLaws.mapEntries_self, LexLeanLaws.listFold_nil, LexLeanLaws.listFold_append, LexLeanLaws.listFold_prepend, LexLeanLaws.listFold_extend, LexLeanLaws.listFold_add_nat, LexLeanLaws.listFold_add_nat_self, LexLeanLaws.listFold_add_int, LexLeanLaws.listFold_add_int_self, LexLeanLaws.listFold_sub_int, LexLeanLaws.listFold_sub_int_self, LexLeanLaws.sumNat_nil, LexLeanLaws.sumNat_cons, LexLeanLaws.sumInt_nil, LexLeanLaws.sumInt_cons, LexLeanLaws.sumNat_add, LexLeanLaws.sumInt_add, LexLeanLaws.sumInt_sub, LexLeanLaws.sumInt_neg, LexLeanLaws.sumInt_neg_self, LexLeanLaws.sumNat_mul, LexLeanLaws.sumInt_mul, LexLeanLaws.sumNat_mul_self, LexLeanLaws.sumInt_mul_self, LexLeanLaws.sumNat_mul_right, LexLeanLaws.sumInt_mul_right, LexLeanLaws.sumNat_const, LexLeanLaws.sumInt_const, LexLeanLaws.sumNat_append, LexLeanLaws.sumInt_append, LexLeanLaws.sumNat_reverse, LexLeanLaws.sumInt_reverse, UInt8.le_iff_toNat_le, UInt8.lt_iff_toNat_lt, UInt16.le_iff_toNat_le, UInt16.lt_iff_toNat_lt, UInt32.le_iff_toNat_le, UInt32.lt_iff_toNat_lt, UInt64.le_iff_toNat_le, UInt64.lt_iff_toNat_lt, Int8.le_iff_toInt_le, Int8.lt_iff_toInt_lt, Int16.le_iff_toInt_le, Int16.lt_iff_toInt_lt, Int32.le_iff_toInt_le, Int32.lt_iff_toInt_lt, Int64.le_iff_toInt_le, Int64.lt_iff_toInt_lt, UInt8.reduceToNat, ← UInt8.toNat_inj, UInt16.reduceToNat, ← UInt16.toNat_inj, UInt32.reduceToNat, ← UInt32.toNat_inj, UInt64.reduceToNat, ← UInt64.toNat_inj, Int8.reduceToInt, ← Int8.toInt_inj, Int16.reduceToInt, ← Int16.toInt_inj, Int32.reduceToInt, ← Int32.toInt_inj, Int64.reduceToInt, ← Int64.toInt_inj] at * + try set_option linter.unusedSimpArgs false in simp only [UInt8.toNat, UInt16.toNat, UInt32.toNat, UInt64.toNat, Int8.toInt, Int16.toInt, Int32.toInt, Int64.toInt, BitVec.toInt_eq_toNat_cond] at * + all_goals (repeat' split) all_goals omega mutual 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 deleted file mode 100644 index c0e7228e4..000000000 --- a/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.process.json deleted file mode 100644 index 2812d7669..000000000 --- a/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.process.json deleted file mode 100644 index 8afe29fc2..000000000 --- a/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Collections.lean b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Collections.lean new file mode 100644 index 000000000..ae0a21413 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.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/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Collections.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..3631574f5 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.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/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Laws.lean b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Laws.lean new file mode 100644 index 000000000..3d95b8987 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Laws.lean @@ -0,0 +1,82 @@ +module +import LexLeanRuntime.Laws +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1.else_eq +#print axioms LexLeanCollections.lessThan.eq_1 +#print axioms LexLeanCollections.listFold.eq_1 +#print axioms LexLeanLaws.append_list +#print axioms LexLeanLaws.length_list +#print axioms LexLeanLaws.lessThan_int +#print axioms LexLeanLaws.lessThan_int16 +#print axioms LexLeanLaws.lessThan_int32 +#print axioms LexLeanLaws.lessThan_int64 +#print axioms LexLeanLaws.lessThan_int8 +#print axioms LexLeanLaws.lessThan_nat +#print axioms LexLeanLaws.lessThan_uint16 +#print axioms LexLeanLaws.lessThan_uint32 +#print axioms LexLeanLaws.lessThan_uint64 +#print axioms LexLeanLaws.lessThan_uint8 +#print axioms LexLeanLaws.listFold_add_int +#print axioms LexLeanLaws.listFold_add_int_self +#print axioms LexLeanLaws.listFold_add_nat +#print axioms LexLeanLaws.listFold_add_nat_self +#print axioms LexLeanLaws.listFold_append +#print axioms LexLeanLaws.listFold_cons +#print axioms LexLeanLaws.listFold_extend +#print axioms LexLeanLaws.listFold_fusion +#print axioms LexLeanLaws.listFold_nil +#print axioms LexLeanLaws.listFold_pair +#print axioms LexLeanLaws.listFold_prepend +#print axioms LexLeanLaws.listFold_sub_int +#print axioms LexLeanLaws.listFold_sub_int_self +#print axioms LexLeanLaws.mapEntries_self +#print axioms LexLeanLaws.mapFold_listFold +#print axioms LexLeanLaws.mapSize_length +#print axioms LexLeanLaws.quotient_int +#print axioms LexLeanLaws.quotient_nat +#print axioms LexLeanLaws.remainder_int +#print axioms LexLeanLaws.remainder_nat +#print axioms LexLeanLaws.setElements_self +#print axioms LexLeanLaws.setFold_listFold +#print axioms LexLeanLaws.setSize_length +#print axioms LexLeanLaws.sumInt +#print axioms LexLeanLaws.sumInt._f +#print axioms LexLeanLaws.sumInt._sunfold +#print axioms LexLeanLaws.sumInt._unsafe_rec +#print axioms LexLeanLaws.sumInt.eq_1 +#print axioms LexLeanLaws.sumInt.eq_2 +#print axioms LexLeanLaws.sumInt.eq_def +#print axioms LexLeanLaws.sumInt_add +#print axioms LexLeanLaws.sumInt_append +#print axioms LexLeanLaws.sumInt_cons +#print axioms LexLeanLaws.sumInt_const +#print axioms LexLeanLaws.sumInt_mul +#print axioms LexLeanLaws.sumInt_mul_right +#print axioms LexLeanLaws.sumInt_mul_self +#print axioms LexLeanLaws.sumInt_neg +#print axioms LexLeanLaws.sumInt_neg_self +#print axioms LexLeanLaws.sumInt_nil +#print axioms LexLeanLaws.sumInt_perm +#print axioms LexLeanLaws.sumInt_reverse +#print axioms LexLeanLaws.sumInt_sub +#print axioms LexLeanLaws.sumNat +#print axioms LexLeanLaws.sumNat._f +#print axioms LexLeanLaws.sumNat._sunfold +#print axioms LexLeanLaws.sumNat._unsafe_rec +#print axioms LexLeanLaws.sumNat.eq_1 +#print axioms LexLeanLaws.sumNat.eq_2 +#print axioms LexLeanLaws.sumNat.eq_def +#print axioms LexLeanLaws.sumNat.match_1 +#print axioms LexLeanLaws.sumNat_add +#print axioms LexLeanLaws.sumNat_append +#print axioms LexLeanLaws.sumNat_cons +#print axioms LexLeanLaws.sumNat_const +#print axioms LexLeanLaws.sumNat_mul +#print axioms LexLeanLaws.sumNat_mul_right +#print axioms LexLeanLaws.sumNat_mul_self +#print axioms LexLeanLaws.sumNat_nil +#print axioms LexLeanLaws.sumNat_perm +#print axioms LexLeanLaws.sumNat_reverse +#print axioms LexLeanLaws.tdiv_ediv +#print axioms LexLeanLaws.tmod_emod +#print axioms LexLeanRuntime.quotient.eq_1 +#print axioms LexLeanRuntime.remainder.eq_1 diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Laws.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Laws.process.json new file mode 100644 index 000000000..9b450dc31 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Laws.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext]\n'LexLeanCollections.listFold.eq_1' does not depend on any axioms\n'LexLeanLaws.append_list' does not depend on any axioms\n'LexLeanLaws.length_list' does not depend on any axioms\n'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.lessThan_nat' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint16' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint32' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint64' depends on axioms: [propext]\n'LexLeanLaws.lessThan_uint8' depends on axioms: [propext]\n'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_cons' does not depend on any axioms\n'LexLeanLaws.listFold_extend' depends on axioms: [propext]\n'LexLeanLaws.listFold_fusion' does not depend on any axioms\n'LexLeanLaws.listFold_nil' does not depend on any axioms\n'LexLeanLaws.listFold_pair' does not depend on any axioms\n'LexLeanLaws.listFold_prepend' depends on axioms: [propext]\n'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.mapEntries_self' does not depend on any axioms\n'LexLeanLaws.mapFold_listFold' does not depend on any axioms\n'LexLeanLaws.mapSize_length' does not depend on any axioms\n'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.setElements_self' does not depend on any axioms\n'LexLeanLaws.setFold_listFold' does not depend on any axioms\n'LexLeanLaws.setSize_length' does not depend on any axioms\n'LexLeanLaws.sumInt' does not depend on any axioms\n'LexLeanLaws.sumInt._f' does not depend on any axioms\n'LexLeanLaws.sumInt._sunfold' does not depend on any axioms\n'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_1' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_2' does not depend on any axioms\n'LexLeanLaws.sumInt.eq_def' does not depend on any axioms\n'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_cons' does not depend on any axioms\n'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul' depends on axioms: [propext]\n'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext]\n'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_nil' does not depend on any axioms\n'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat' does not depend on any axioms\n'LexLeanLaws.sumNat._f' does not depend on any axioms\n'LexLeanLaws.sumNat._sunfold' does not depend on any axioms\n'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_1' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_2' does not depend on any axioms\n'LexLeanLaws.sumNat.eq_def' does not depend on any axioms\n'LexLeanLaws.sumNat.match_1' does not depend on any axioms\n'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_cons' does not depend on any axioms\n'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul' does not depend on any axioms\n'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_mul_self' does not depend on any axioms\n'LexLeanLaws.sumNat_nil' does not depend on any axioms\n'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound]\n'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.quotient.eq_1' does not depend on any axioms\n'LexLeanRuntime.remainder.eq_1' does not depend on any axioms\n","stdout_sha256":"a4ba2d39c9cdfd5e40c41c5ccf4726d937fd192fc042b74bb56cc0651e28919e","tool":"lean"} diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Portable.lean b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Portable.lean new file mode 100644 index 000000000..dd62fd557 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.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.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Portable.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..be5cee11e --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.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.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.lean b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Main.lean similarity index 100% rename from examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.lean rename to examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Main.lean diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Main.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Main.process.json new file mode 100644 index 000000000..7c34f6d65 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.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.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.lean b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Syntax.lean similarity index 100% rename from examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.lean rename to examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Syntax.lean diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Syntax.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Syntax.process.json new file mode 100644 index 000000000..96aef715d --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Syntax.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.Recursion.Syntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aaedbe3f7f48679a80b9c8f9120461d68.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 be05c8e99..0f2730fa6 100644 --- a/examples/recursion/expected/verify/audit/output.txt +++ b/examples/recursion/expected/verify/audit/output.txt @@ -1,3 +1,186 @@ +'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 +'LexLeanCollections.lessThan._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.lessThan.eq_1' depends on axioms: [propext] +'LexLeanCollections.listFold.eq_1' does not depend on any axioms +'LexLeanLaws.append_list' does not depend on any axioms +'LexLeanLaws.length_list' does not depend on any axioms +'LexLeanLaws.lessThan_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int16' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int32' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int64' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_int8' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.lessThan_nat' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint16' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint32' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint64' depends on axioms: [propext] +'LexLeanLaws.lessThan_uint8' depends on axioms: [propext] +'LexLeanLaws.listFold_add_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_add_nat_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_cons' does not depend on any axioms +'LexLeanLaws.listFold_extend' depends on axioms: [propext] +'LexLeanLaws.listFold_fusion' does not depend on any axioms +'LexLeanLaws.listFold_nil' does not depend on any axioms +'LexLeanLaws.listFold_pair' does not depend on any axioms +'LexLeanLaws.listFold_prepend' depends on axioms: [propext] +'LexLeanLaws.listFold_sub_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.listFold_sub_int_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.mapEntries_self' does not depend on any axioms +'LexLeanLaws.mapFold_listFold' does not depend on any axioms +'LexLeanLaws.mapSize_length' does not depend on any axioms +'LexLeanLaws.quotient_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.quotient_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_int' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.remainder_nat' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.setElements_self' does not depend on any axioms +'LexLeanLaws.setFold_listFold' does not depend on any axioms +'LexLeanLaws.setSize_length' does not depend on any axioms +'LexLeanLaws.sumInt' does not depend on any axioms +'LexLeanLaws.sumInt._f' does not depend on any axioms +'LexLeanLaws.sumInt._sunfold' does not depend on any axioms +'LexLeanLaws.sumInt._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumInt.eq_1' does not depend on any axioms +'LexLeanLaws.sumInt.eq_2' does not depend on any axioms +'LexLeanLaws.sumInt.eq_def' does not depend on any axioms +'LexLeanLaws.sumInt_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_cons' does not depend on any axioms +'LexLeanLaws.sumInt_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul' depends on axioms: [propext] +'LexLeanLaws.sumInt_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_mul_self' depends on axioms: [propext] +'LexLeanLaws.sumInt_neg' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_neg_self' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_nil' does not depend on any axioms +'LexLeanLaws.sumInt_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumInt_sub' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat' does not depend on any axioms +'LexLeanLaws.sumNat._f' does not depend on any axioms +'LexLeanLaws.sumNat._sunfold' does not depend on any axioms +'LexLeanLaws.sumNat._unsafe_rec' does not depend on any axioms +'LexLeanLaws.sumNat.eq_1' does not depend on any axioms +'LexLeanLaws.sumNat.eq_2' does not depend on any axioms +'LexLeanLaws.sumNat.eq_def' does not depend on any axioms +'LexLeanLaws.sumNat.match_1' does not depend on any axioms +'LexLeanLaws.sumNat_add' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_append' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_cons' does not depend on any axioms +'LexLeanLaws.sumNat_const' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul' does not depend on any axioms +'LexLeanLaws.sumNat_mul_right' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_mul_self' does not depend on any axioms +'LexLeanLaws.sumNat_nil' does not depend on any axioms +'LexLeanLaws.sumNat_perm' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.sumNat_reverse' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tdiv_ediv' depends on axioms: [propext, Quot.sound] +'LexLeanLaws.tmod_emod' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.quotient.eq_1' does not depend on any axioms +'LexLeanRuntime.remainder.eq_1' 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 diff --git a/examples/recursive-data/expected/verify/probe/LexLeanProbe.Pf1458414ae9b17c2e4f2953e1bf63ddf.lean b/examples/recursion/expected/verify/probe/LexLeanProbe.Paedbe3f7f48679a80b9c8f9120461d68.lean similarity index 100% rename from examples/recursive-data/expected/verify/probe/LexLeanProbe.Pf1458414ae9b17c2e4f2953e1bf63ddf.lean rename to examples/recursion/expected/verify/probe/LexLeanProbe.Paedbe3f7f48679a80b9c8f9120461d68.lean diff --git a/examples/recursion/expected/verify/probe/process.json b/examples/recursion/expected/verify/probe/process.json index 59714f6fe..90ac1597a 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.P62a4917de7189dfc7d3f0beb388b4bca.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P62a4917de7189dfc7d3f0beb388b4bca","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Paedbe3f7f48679a80b9c8f9120461d68.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Paedbe3f7f48679a80b9c8f9120461d68","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/recursion/expected/verify/process/lean/LexLeanRuntime.Collections.json b/examples/recursion/expected/verify/process/lean/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..75248f178 --- /dev/null +++ b/examples/recursion/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/recursion/expected/verify/process/lean/LexLeanRuntime.Laws.json b/examples/recursion/expected/verify/process/lean/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..b6b4cff9f --- /dev/null +++ b/examples/recursion/expected/verify/process/lean/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Laws.olean","$STAGING/lean-src/LexLeanRuntime/Laws.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/recursion/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json b/examples/recursion/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..52662ef9b --- /dev/null +++ b/examples/recursion/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/recursion/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json b/examples/recursion/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json new file mode 100644 index 000000000..650bb0ba4 --- /dev/null +++ b/examples/recursion/expected/verify/process/leanchecker/LexLeanRuntime.Laws.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Laws"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Laws","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 f8a7319a3..dda4a8202 100644 --- a/examples/recursion/lexlean.lock +++ b/examples/recursion/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 2b69b58cc..fbb374317 100644 --- a/examples/recursive-data/expected/build/manifest.json +++ b/examples/recursive-data/expected/build/manifest.json @@ -1 +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"} +{"build_id":"a74b5c3460b4eda568cc03b817db68ba2ba41a5b53046b00f265c7f399633ff9","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"5747a2ecea61593c9b30a467e4fcae71815b1e770e73e7784a2004ebbef0957a"},{"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":"2c240d6915252011e3b99f4ff1984250ba326d4c9e88cacca2f9c693f999c6ab"},{"byte_length":3571,"kind":"map","path":"maps/RecursiveData/Types.map.json","sha256":"62824c1ffe3abfc6821049df552ca76639c5e9d047b8bb9fda165281c9321d78"},{"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":"ed249f53109c986a342b3263f698f4376136f16f3f6f2fb9f9d81f0b3c7ab91d","source_id":"5d6bc89b11f6c611094ac200ea84d86f45f02b3349e6741eeaf6eca7f1b4cd1e","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 c7e18ba6b..c5363f559 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":"f1458414ae9b17c2e4f2953e1bf63ddf54e6fa858f4d680ebd950771fc96bf04","source_id":"980f6df5a5ce7ca2617daf979bf7adba09e9631616b9ced548e3dc1508c41882","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":"ed249f53109c986a342b3263f698f4376136f16f3f6f2fb9f9d81f0b3c7ab91d","source_id":"5d6bc89b11f6c611094ac200ea84d86f45f02b3349e6741eeaf6eca7f1b4cd1e","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 7b85c5919..68feec8bb 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":"f1458414ae9b17c2e4f2953e1bf63ddf54e6fa858f4d680ebd950771fc96bf04","source_id":"980f6df5a5ce7ca2617daf979bf7adba09e9631616b9ced548e3dc1508c41882","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":"ed249f53109c986a342b3263f698f4376136f16f3f6f2fb9f9d81f0b3c7ab91d","source_id":"5d6bc89b11f6c611094ac200ea84d86f45f02b3349e6741eeaf6eca7f1b4cd1e","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.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.lean b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Main.lean similarity index 100% rename from examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.lean rename to examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Main.lean diff --git a/examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Main.process.json b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Main.process.json new file mode 100644 index 000000000..96cac7450 --- /dev/null +++ b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aed249f53109c986a342b3263f698f437.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.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.lean b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Types.lean similarity index 100% rename from examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.lean rename to examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Types.lean diff --git a/examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Types.process.json b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Types.process.json new file mode 100644 index 000000000..7e606bf45 --- /dev/null +++ b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Types.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aed249f53109c986a342b3263f698f437.RecursiveData.Types.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aed249f53109c986a342b3263f698f437.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.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.process.json b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.process.json deleted file mode 100644 index 1868ba770..000000000 --- a/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.process.json b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.process.json deleted file mode 100644 index 71088b74d..000000000 --- a/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.process.json +++ /dev/null @@ -1 +0,0 @@ -{"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.Ped249f53109c986a342b3263f698f437.lean b/examples/recursive-data/expected/verify/probe/LexLeanProbe.Ped249f53109c986a342b3263f698f437.lean new file mode 100644 index 000000000..85a015f42 --- /dev/null +++ b/examples/recursive-data/expected/verify/probe/LexLeanProbe.Ped249f53109c986a342b3263f698f437.lean @@ -0,0 +1,2 @@ +module +set_option autoImplicit false diff --git a/examples/recursive-data/expected/verify/probe/process.json b/examples/recursive-data/expected/verify/probe/process.json index 12d360002..9cb12fe32 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.Pf1458414ae9b17c2e4f2953e1bf63ddf.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pf1458414ae9b17c2e4f2953e1bf63ddf","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Ped249f53109c986a342b3263f698f437.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Ped249f53109c986a342b3263f698f437","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 2722e238b..97823c807 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" project_config_sha256 = "80db82abec1dcb95e34e18635f4b202b28e8653cf44949647692cd16549adf5e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/features/suites/proofs.feature b/features/suites/proofs.feature index 2adf7ee8c..81810a10b 100644 --- a/features/suites/proofs.feature +++ b/features/suites/proofs.feature @@ -137,3 +137,31 @@ Feature: proofs When it is rendered and verified, copies add a tactic member to the form and to a unit-variant proof, a copy unfolds a later definition, a language-1.1 module uses the form, and a copy states a false linear claim Then the generated Lean is the fixed intros, Boolean-comparison rewriting, and omega script, with subst_vars and the unfolded weight measure where the form names it, and verifies And the extra members, the later definition, and the language-1.1 use fail with LLT4001 and the false claim checks but fails verification with LLV7002 + + @PF-20 @build + Scenario: Under language 1.2 the order propositions <= and < take two operands of one integer type, Nat, Int, or one fixed-width type, and lower to Lean's order on that type; language 1.1 keeps them over Nat only. + Given the committed fold-laws example, whose integer-kernel theorems state order over Int and UInt8 + When it is rendered and verified, a copy orders an Int against a Nat, a copy orders two strings, and a language-1.1 module orders two Int values + Then the generated Lean writes each order with Lean's `<=` and `<` on the operands' own type and verifies + And the mixed operands, the strings, and the language-1.1 use fail with LLT4001 + + @PF-21 @build + Scenario: The language-1.2 linear_arithmetic proof form reads the runtime: it rewrites less_than, equal, negate, quotient, remainder, and fixed-width order and equality into linear arithmetic over mathematical values, splits every if and match left in the goal, proves integer kernels for all inputs, and is refused by Lean on a false one. + Given the committed fold-laws example, whose clamped requantization step, truncating division, and fixed-width order theorems are proved by linear_arithmetic + When it is rendered and verified, and copies state a clamp bound one too small, a quotient identity with the wrong remainder sign, and a fixed-width order one past its literal + Then the generated Lean is the fixed script: the runtime bridges and the registered rewrites, the fixed-width bit reading, the split of every if and match, and omega, and it verifies for all inputs + And each false copy checks but fails verification with LLV7002 + + @PF-22 @build + Scenario: The runtime module LexLeanRuntime.Laws states the fold laws as LexLean source with every row's axioms pinned, and linear_arithmetic rewrites additive list, set, and map folds into sums that are linear and invariant under append and reverse, so fold equalities verify for all inputs with decide only on closed instances. + Given the shipped runtime and the committed fold-laws example + When the runtime is built, a copy of the law registry names a declaration the module lacks or registers a law twice, the example is verified, and copies state a fold equality that is false + Then the laws module is a native core module importing the portable and collection runtimes with every row's axioms pinned, and the registry's rewrites and laws are its declarations + And the planted registries are refused, the example's fold equalities over lists, sets, and maps verify for all inputs, every decide proof is of a closed statement, and each false copy fails verification with LLV7002 + + @PF-23 @build + Scenario: The language-1.2 law proof form applies one registered fold law (fusion, the fold of a pair, or the fold of an append) to checked type arguments, arguments, and prior theorems discharging its premises, and is refused in linking for an unregistered law, a wrong argument count or type, or a missing premise, and by Lean for a statement the law does not prove. + Given the committed fold-laws example, whose single-pass statistics and parity theorems are proved by law + When it is rendered and verified, copies name an unregistered law, drop an argument, pass an argument of the wrong type, drop the premise, name a later theorem as the premise, a language-1.1 module uses the form, and a copy applies the pair law to a swapped statement + Then the generated Lean applies the registered theorem with explicit type arguments, arguments, and premises, and verifies + And each malformed copy and the language-1.1 use fail with LLT4001 and the swapped statement fails verification with LLV7002 diff --git a/language/runtime-1.2/laws.toml b/language/runtime-1.2/laws.toml new file mode 100644 index 000000000..4a95e38e5 --- /dev/null +++ b/language/runtime-1.2/laws.toml @@ -0,0 +1,114 @@ +# The fold laws of language 1.2 (SPEC.md §17.12, *Fold laws*): what the +# runtime module `LexLeanRuntime.Laws` states, as the compiler reads it. +# +# `rewrites` is the ordered rewrite set the `linear_arithmetic` proof form +# applies after the runtime bridges; `law` lists the laws a `law` proof +# applies by name, each with its explicit type parameters and parameter +# types in the semantic schema and the number of premises a prior theorem +# discharges. Every Lean name below is a declaration of the module, which +# the runtime build checks; the module itself is the authority for what each +# law states. + +spec = "lexlean/runtime-laws/1" +module = "LexLeanRuntime.Laws" + +rewrites = [ + "LexLeanLaws.lessThan_nat", + "LexLeanLaws.lessThan_int", + "LexLeanLaws.lessThan_int8", + "LexLeanLaws.lessThan_int16", + "LexLeanLaws.lessThan_int32", + "LexLeanLaws.lessThan_int64", + "LexLeanLaws.lessThan_uint8", + "LexLeanLaws.lessThan_uint16", + "LexLeanLaws.lessThan_uint32", + "LexLeanLaws.lessThan_uint64", + "LexLeanLaws.quotient_nat", + "LexLeanLaws.quotient_int", + "LexLeanLaws.remainder_nat", + "LexLeanLaws.remainder_int", + "LexLeanLaws.tdiv_ediv", + "LexLeanLaws.tmod_emod", + "LexLeanLaws.length_list", + "LexLeanLaws.append_list", + "LexLeanLaws.setFold_listFold", + "LexLeanLaws.mapFold_listFold", + "LexLeanLaws.setSize_length", + "LexLeanLaws.mapSize_length", + "LexLeanLaws.setElements_self", + "LexLeanLaws.mapEntries_self", + "LexLeanLaws.listFold_nil", + "LexLeanLaws.listFold_append", + "LexLeanLaws.listFold_prepend", + "LexLeanLaws.listFold_extend", + "LexLeanLaws.listFold_add_nat", + "LexLeanLaws.listFold_add_nat_self", + "LexLeanLaws.listFold_add_int", + "LexLeanLaws.listFold_add_int_self", + "LexLeanLaws.listFold_sub_int", + "LexLeanLaws.listFold_sub_int_self", + "LexLeanLaws.sumNat_nil", + "LexLeanLaws.sumNat_cons", + "LexLeanLaws.sumInt_nil", + "LexLeanLaws.sumInt_cons", + "LexLeanLaws.sumNat_add", + "LexLeanLaws.sumInt_add", + "LexLeanLaws.sumInt_sub", + "LexLeanLaws.sumInt_neg", + "LexLeanLaws.sumInt_neg_self", + "LexLeanLaws.sumNat_mul", + "LexLeanLaws.sumInt_mul", + "LexLeanLaws.sumNat_mul_self", + "LexLeanLaws.sumInt_mul_self", + "LexLeanLaws.sumNat_mul_right", + "LexLeanLaws.sumInt_mul_right", + "LexLeanLaws.sumNat_const", + "LexLeanLaws.sumInt_const", + "LexLeanLaws.sumNat_append", + "LexLeanLaws.sumInt_append", + "LexLeanLaws.sumNat_reverse", + "LexLeanLaws.sumInt_reverse", +] + +# A function that commutes with one fold's step carries that fold to the +# fold of the other step: h (list_fold f z xs) = list_fold g (h z) xs, given +# a prior theorem stating h (f a x) = g (h a) x for all a and x. +[[law]] +name = "list_fold_fusion" +lean = "LexLeanLaws.listFold_fusion" +type_parameters = ["A", "S", "T"] +premises = 1 +parameters = [ + { kind = "function", parameters = [{ kind = "parameter", name = "S" }, { kind = "parameter", name = "A" }], result = { kind = "parameter", name = "S" } }, + { kind = "function", parameters = [{ kind = "parameter", name = "T" }, { kind = "parameter", name = "A" }], result = { kind = "parameter", name = "T" } }, + { kind = "function", parameters = [{ kind = "parameter", name = "S" }], result = { kind = "parameter", name = "T" } }, + { kind = "parameter", name = "S" }, + { kind = "list", element = { kind = "parameter", name = "A" } }, +] + +# Two folds over one list are one fold over the pair of their states. +[[law]] +name = "list_fold_pair" +lean = "LexLeanLaws.listFold_pair" +type_parameters = ["A", "S", "T"] +premises = 0 +parameters = [ + { kind = "function", parameters = [{ kind = "parameter", name = "S" }, { kind = "parameter", name = "A" }], result = { kind = "parameter", name = "S" } }, + { kind = "function", parameters = [{ kind = "parameter", name = "T" }, { kind = "parameter", name = "A" }], result = { kind = "parameter", name = "T" } }, + { kind = "parameter", name = "S" }, + { kind = "parameter", name = "T" }, + { kind = "list", element = { kind = "parameter", name = "A" } }, +] + +# A fold over an appended list continues the fold of the first part. +[[law]] +name = "list_fold_append" +lean = "LexLeanLaws.listFold_append" +type_parameters = ["A", "S"] +premises = 0 +parameters = [ + { kind = "function", parameters = [{ kind = "parameter", name = "S" }, { kind = "parameter", name = "A" }], result = { kind = "parameter", name = "S" } }, + { kind = "parameter", name = "S" }, + { kind = "list", element = { kind = "parameter", name = "A" } }, + { kind = "list", element = { kind = "parameter", name = "A" } }, +] diff --git a/language/runtime-1.2/library.toml b/language/runtime-1.2/library.toml index 6307fa455..ba5b26eba 100644 --- a/language/runtime-1.2/library.toml +++ b/language/runtime-1.2/library.toml @@ -1,3 +1,3 @@ spec = "lexlean/runtime-library/1" toolchain = "leanprover/lean4:v4.32.1" -modules = ["LexLeanRuntime.Portable", "LexLeanRuntime.Collections", "LexLeanRuntime.Models", "LexLeanRuntime.Reasoning"] +modules = ["LexLeanRuntime.Portable", "LexLeanRuntime.Collections", "LexLeanRuntime.Models", "LexLeanRuntime.Reasoning", "LexLeanRuntime.Laws"] diff --git a/language/runtime-1.2/library/glossary/runtime.titles/entries/laws.toml b/language/runtime-1.2/library/glossary/runtime.titles/entries/laws.toml new file mode 100644 index 000000000..c66606b04 --- /dev/null +++ b/language/runtime-1.2/library/glossary/runtime.titles/entries/laws.toml @@ -0,0 +1,16 @@ +spec = "lexlean/entry/1" +id = "laws" +category = "label-word" +surface_arity = 0 +frame = "atom" + +[denotation] +kind = "defined" +value = "(const lexlean.std.nat::nat)" + +[[form]] +id = "laws" +channel = "text" +surface = "Runtime fold laws" +canonical_source = true +features = ["sentence-case", "singular"] diff --git a/language/runtime-1.2/library/lexlean.toml b/language/runtime-1.2/library/lexlean.toml index cd979b9e6..7159f5e42 100644 --- a/language/runtime-1.2/library/lexlean.toml +++ b/language/runtime-1.2/library/lexlean.toml @@ -3,7 +3,7 @@ name = "runtime-library" language = "1.2" module_prefix = "LexLeanRuntime" source_roots = ["src"] -entrypoints = ["src/Models.lex.tex", "src/Reasoning.lex.tex"] +entrypoints = ["src/Laws.lex.tex", "src/Models.lex.tex", "src/Reasoning.lex.tex"] build_root = ".lexlean" lockfile = "lexlean.lock" lean_workspace = "." diff --git a/language/runtime-1.2/library/src/Laws.lex.tex b/language/runtime-1.2/library/src/Laws.lex.tex new file mode 100644 index 000000000..ff9ef2ce6 --- /dev/null +++ b/language/runtime-1.2/library/src/Laws.lex.tex @@ -0,0 +1,8631 @@ +\begin{lexlean}{Laws} +\useglossary{lexlean.std.nat@1.2.0} +\useglossary{runtime.titles@1.0.0} +\importmodule{Portable} +\importmodule{Collections} +\title{Runtime fold laws} +\begin{coremodule} +imports [Init, LexLeanRuntime.Portable, LexLeanRuntime.Collections] + +theorem LexLeanCollections.lessThan._sparseCasesOn_1.else_eq.{u} : @35 := @196 { + all: [LexLeanCollections.lessThan._sparseCasesOn_1.else_eq], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanCollections.lessThan.eq_1 : @226 := @231 { + all: [LexLeanCollections.lessThan.eq_1], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + tags: [backward_defeq], + transparency: semireducible +} +theorem LexLeanCollections.listFold.eq_1 : @255 := @262 { + all: [LexLeanCollections.listFold.eq_1], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.append_list : @290 := @296 { + all: [LexLeanLaws.append_list], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.length_list : @309 := @313 { + all: [LexLeanLaws.length_list], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int._simp_1_3 : @326 := @332 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_int : @349 := @598 { + all: [LexLeanLaws.lessThan_int], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int16._simp_1_3 : @326 := @332 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int16._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_int16 : @617 := @806 { + all: [LexLeanLaws.lessThan_int16], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int32._simp_1_3 : @326 := @332 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int32._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_int32 : @825 := @1014 { + all: [LexLeanLaws.lessThan_int32], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int64._simp_1_3 : @326 := @332 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int64._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_int64 : @1033 := @1222 { + all: [LexLeanLaws.lessThan_int64], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int8._simp_1_3 : @326 := @332 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int8._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_int8 : @1241 := @1430 { + all: [LexLeanLaws.lessThan_int8], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_nat._simp_1_3 : @1438 := @1443 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_nat._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_nat : @1459 := @1661 { + all: [LexLeanLaws.lessThan_nat], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint16._simp_1_3 : @1438 := @1443 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint16._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_uint16 : @1680 := @1869 { + all: [LexLeanLaws.lessThan_uint16], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint32._simp_1_3 : @1438 := @1443 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint32._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_uint32 : @1888 := @2077 { + all: [LexLeanLaws.lessThan_uint32], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint64._simp_1_3 : @1438 := @1443 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint64._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_uint64 : @2096 := @2285 { + all: [LexLeanLaws.lessThan_uint64], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint8._simp_1_3 : @1438 := @1443 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint8._simp_1_3"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.lessThan_uint8 : @2304 := @2493 { + all: [LexLeanLaws.lessThan_uint8], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +abbrev LexLeanLaws.sumNat.match_1.{u_1} : @2512 := @2531 { + all: [LexLeanLaws.sumNat.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 LexLeanLaws.sumInt._f : @2541 := @2587 { + all: [LexLeanLaws.sumInt._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanLaws.sumInt : @2590 := @2601 { + all: [LexLeanLaws.sumInt], + class: false, + compiled: true, + eqn_info: { + type: 2590, + declarations: [LexLeanLaws.sumInt], + levels: [], + num_fixed: 2, + perms: [[[0], [1], []]], + rec_arg_pos: 2, + rev_deps: [[[1, 2], [], []]], + value: 2620 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 8}, + tags: [recursive], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_add_int._proof_1_5 : @2637 := @3063 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_add_int._proof_1_5"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_add_int : @3081 := @3223 { + all: [LexLeanLaws.listFold_add_int], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_add_int_self : @3241 := @3248 { + all: [LexLeanLaws.listFold_add_int_self], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +abbrev LexLeanLaws.sumNat._f : @3256 := @3288 { + all: [LexLeanLaws.sumNat._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanLaws.sumNat : @3291 := @3300 { + all: [LexLeanLaws.sumNat], + class: false, + compiled: true, + eqn_info: { + type: 3291, + declarations: [LexLeanLaws.sumNat], + levels: [], + num_fixed: 2, + perms: [[[0], [1], []]], + rec_arg_pos: 2, + rev_deps: [[[1, 2], [], []]], + value: 3317 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 3}, + tags: [recursive], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_add_nat._proof_1_5 : @3334 := @3652 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_add_nat._proof_1_5"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_add_nat : @3669 := @3782 { + all: [LexLeanLaws.listFold_add_nat], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_add_nat_self : @3800 := @3807 { + all: [LexLeanLaws.listFold_add_nat_self], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_append : @3832 := @3845 { + all: [LexLeanLaws.listFold_append], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_cons : @3857 := @3865 { + all: [LexLeanLaws.listFold_cons], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.listFold_extend : @3889 := @4078 { + all: [LexLeanLaws.listFold_extend], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_fusion : @4114 := @4266 { + all: [LexLeanLaws.listFold_fusion], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_nil : @4277 := @4283 { + all: [LexLeanLaws.listFold_nil], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.listFold_pair : @4334 := @4548 { + all: [LexLeanLaws.listFold_pair], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_prepend : @4564 := @4703 { + all: [LexLeanLaws.listFold_prepend], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_sub_int._proof_1_5 : @4717 := @4943 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_sub_int._proof_1_5"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_sub_int : @4956 := @5058 { + all: [LexLeanLaws.listFold_sub_int], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.listFold_sub_int_self : @5069 := @5076 { + all: [LexLeanLaws.listFold_sub_int_self], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.mapEntries_self : @5092 := @5097 { + all: [LexLeanLaws.mapEntries_self], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.mapFold_listFold : @5134 := @5142 { + all: [LexLeanLaws.mapFold_listFold], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.mapSize_length : @5153 := @5157 { + all: [LexLeanLaws.mapSize_length], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.quotient_int._simp_1_2.{u_1} : @5181 := @5196 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.quotient_int._simp_1_2"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.quotient_int : @5221 := @5285 { + all: [LexLeanLaws.quotient_int], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.quotient_nat._simp_1_2.{u_1} : @5181 := @5196 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.quotient_nat._simp_1_2"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.quotient_nat : @5316 := @5381 { + all: [LexLeanLaws.quotient_nat], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.remainder_int._simp_1_2.{u_1} : @5181 := @5196 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.remainder_int._simp_1_2"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.remainder_int : @5396 := @5440 { + all: [LexLeanLaws.remainder_int], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.remainder_nat._simp_1_2.{u_1} : @5181 := @5196 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.remainder_nat._simp_1_2"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.remainder_nat : @5462 := @5510 { + all: [LexLeanLaws.remainder_nat], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.setElements_self : @5518 := @5522 { + all: [LexLeanLaws.setElements_self], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.setFold_listFold : @5535 := @5541 { + all: [LexLeanLaws.setFold_listFold], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.setSize_length : @5548 := @5551 { + all: [LexLeanLaws.setSize_length], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +definition LexLeanLaws.sumInt._sunfold : @2590 := @5562 { + all: [LexLeanLaws.sumInt._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 9}, + transparency: semireducible +} +definition LexLeanLaws.sumInt._unsafe_rec : @2590 := @5573 { + all: [LexLeanLaws.sumInt._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +theorem LexLeanLaws.sumInt.eq_1 : @5581 := @5584 { + all: [LexLeanLaws.sumInt.eq_1], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.sumInt.eq_2 : @5596 := @5601 { + all: [LexLeanLaws.sumInt.eq_2], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [backward_defeq], + transparency: semireducible +} +abbrev _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat.match_1.splitter.{u_1} : @2512 := @5602 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat.match_1.splitter"], + class: false, + compiled: true, + generated: false, + inline: inline, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt.eq_def : @5610 := @5948 { + all: [LexLeanLaws.sumInt.eq_def], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_add._proof_1_4 : @5968 := @6376 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_add._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_add : @6393 := @6486 { + all: [LexLeanLaws.sumInt_add], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_append._proof_1_4 : @6499 := @6774 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_append._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_append : @6786 := @6896 { + all: [LexLeanLaws.sumInt_append], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_cons : @6899 := @6905 { + all: [LexLeanLaws.sumInt_cons], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_const._proof_1_4 : @6929 := @7160 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_const._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_const : @7168 := @7315 { + all: [LexLeanLaws.sumInt_const], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_mul : @7326 := @7429 { + all: [LexLeanLaws.sumInt_mul], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_mul_right : @7442 := @7532 { + all: [LexLeanLaws.sumInt_mul_right], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_mul_self : @7541 := @7547 { + all: [LexLeanLaws.sumInt_mul_self], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_neg._proof_1_4 : @7560 := @7854 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_neg._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_neg : @7864 := @7940 { + all: [LexLeanLaws.sumInt_neg], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_neg_self : @7948 := @7953 { + all: [LexLeanLaws.sumInt_neg_self], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_nil : @5581 := @7956 { + all: [LexLeanLaws.sumInt_nil], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_perm._proof_1_4 : @7968 := @8331 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_perm._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_perm : @8342 := @8484 { + all: [LexLeanLaws.sumInt_perm], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_reverse : @8490 := @8502 { + all: [LexLeanLaws.sumInt_reverse], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_sub._proof_1_4 : @8519 := @8877 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_sub._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumInt_sub : @8890 := @8976 { + all: [LexLeanLaws.sumInt_sub], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +definition LexLeanLaws.sumNat._sunfold : @3291 := @8987 { + all: [LexLeanLaws.sumNat._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + transparency: semireducible +} +definition LexLeanLaws.sumNat._unsafe_rec : @3291 := @8998 { + all: [LexLeanLaws.sumNat._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +theorem LexLeanLaws.sumNat.eq_1 : @9005 := @9008 { + all: [LexLeanLaws.sumNat.eq_1], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.sumNat.eq_2 : @9017 := @9022 { + all: [LexLeanLaws.sumNat.eq_2], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [backward_defeq], + transparency: semireducible +} +theorem LexLeanLaws.sumNat.eq_def : @9030 := @9299 { + all: [LexLeanLaws.sumNat.eq_def], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_add._proof_1_4 : @9319 := @9719 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_add._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_add : @9734 := @9827 { + all: [LexLeanLaws.sumNat_add], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_append._proof_1_4 : @9840 := @10124 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_append._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_append : @10134 := @10240 { + all: [LexLeanLaws.sumNat_append], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_cons : @10243 := @10248 { + all: [LexLeanLaws.sumNat_cons], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_const._proof_1_4 : @10267 := @10514 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_const._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_const : @10522 := @10621 { + all: [LexLeanLaws.sumNat_const], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_mul : @10632 := @10723 { + all: [LexLeanLaws.sumNat_mul], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_mul_right : @10736 := @10823 { + all: [LexLeanLaws.sumNat_mul_right], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_mul_self : @10832 := @10838 { + all: [LexLeanLaws.sumNat_mul_self], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_nil : @9005 := @10841 { + all: [LexLeanLaws.sumNat_nil], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [defeq, backward_defeq], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_perm._proof_1_4 : @10853 := @11253 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_perm._proof_1_4"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_perm : @11260 := @11378 { + all: [LexLeanLaws.sumNat_perm], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.sumNat_reverse : @11384 := @11393 { + all: [LexLeanLaws.sumNat_reverse], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_1 : @11399 := @11582 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_1"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_2 : @11587 := @11767 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_2"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_3 : @11776 := @11927 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_3"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.tdiv_ediv : @11963 := @12501 { + all: [LexLeanLaws.tdiv_ediv], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.tmod_emod._proof_1_1 : @12503 := @12623 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tmod_emod._proof_1_1"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.tmod_emod._proof_1_2 : @12629 := @12729 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tmod_emod._proof_1_2"], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanLaws.tmod_emod : @12749 := @12903 { + all: [LexLeanLaws.tmod_emod], + class: false, + generated: false, + policy: exact{axioms: [Quot.sound, propext]}, + transparency: semireducible +} +theorem LexLeanRuntime.quotient.eq_1 : @12933 := @12940 { + all: [LexLeanRuntime.quotient.eq_1], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [backward_defeq], + transparency: semireducible +} +theorem LexLeanRuntime.remainder.eq_1 : @12957 := @12963 { + all: [LexLeanRuntime.remainder.eq_1], + class: false, + generated: false, + policy: exact{axioms: []}, + tags: [backward_defeq], + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.eq_1.{u_1} : @12979 := @12985 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.eq_1"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +abbrev _private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.splitter._sparseCasesOn_2.{u} : @12989 := @13024 { + all: [ + "_private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.splitter._sparseCasesOn_2" + ], + 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 +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.eq_2.{u_1} : @13042 := @13168 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.eq_2"], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + transparency: semireducible +} +abbrev _private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.splitter.{u_1} : @13175 := @13204 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.splitter"], + class: false, + compiled: true, + generated: false, + inline: inline, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat.match_1.eq_1.{u_1} : @13223 := @13229 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat.match_1.eq_1"], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem _private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat.match_1.eq_2.{u_1} : @13255 := @13263 { + all: ["_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat.match_1.eq_2"], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} + +@0 := Ordering +@2 := (t : @0) -> Sort u +@3 := #1 +@4 := Ordering.lt +@5 := @3 @4 +@6 := Nat.hasNotBit +@7 := 1 +@8 := @6 @7 +@9 := Ordering.ctorIdx +@11 := @8 (@9 @3) +@12 := #3 +@13 := #2 +@14 := @12 @13 +@15 := (h : @11) -> @14 +@16 := @9 @13 +@17 := @8 @16 +@18 := Eq.{u} +@19 := #4 +@20 := @19 @12 +@21 := @18 @20 +@22 := LexLeanCollections.lessThan._sparseCasesOn_1.{u} +@27 := @21 (@22 @19 @12 @13 @3) +@28 := #0 +@35 := {motive : @2} -> + (t : @0) -> (lt : @5) -> (else._@._hyg.#2 : @15) -> (h : @17) -> @27 (@3 @28) +@36 := proof(Ordering.casesOn.{0}) +@38 := proof(@8 proof(@9 @28)) +@39 := #6 +@40 := @39 @3 +@41 := proof((h : @38) -> @40) +@42 := Eq.{1} +@43 := Nat +@44 := @42 @43 +@45 := proof(@9 @39) +@47 := proof(proof(@44 @45) @16) +@48 := #8 +@50 := proof(@18 proof(@48 @12)) +@51 := proof(@22 @48) +@55 := proof(@50 proof(proof(proof(@51 @12) @39) @13)) +@56 := @13 @3 +@63 := proof(proof(@36 + proof(fun (x : @0) => + proof((else._@._hyg.#2 : @41) -> + proof((h : @11) -> proof((hidx : @47) -> proof(@55 @56)))))) + @12) +@64 := proof(@9 @4) +@65 := proof(@8 @64) +@66 := #5 +@67 := proof(@66 @4) +@68 := proof((h : @65) -> @67) +@69 := proof(@9 @66) +@70 := proof(@44 @69) +@71 := proof(@70 @64) +@72 := proof(Eq.ndrec.{0, 1}) +@73 := proof(@72 @43) +@74 := proof(@73 @64) +@75 := proof(@8 @28) +@76 := proof(#9) +@78 := proof(@18 proof(@76 @4)) +@80 := proof(proof(@22 @76) @4) +@81 := #7 +@88 := proof(@74 + proof(fun (idx : @43) => proof((h : @75) -> proof(proof(@78 proof(proof(@80 @81) @19)) @20)))) +@89 := proof(absurd.{0}) +@90 := proof(Nat.land) +@91 := OfNat.ofNat.{0} +@94 := proof(proof(@91 proof(annot [borrowed := bool true] @43)) @7) +@95 := instOfNatNat +@96 := proof(@95 @7) +@98 := proof(@90 proof(@94 @96)) +@100 := proof(proof(Nat.shiftRight) @7) +@101 := 0 +@103 := proof(@98 proof(@100 @101)) +@104 := proof(@44 @103) +@105 := @91 @43 +@107 := proof(proof(@105 @7) @96) +@109 := proof(@89 proof(@104 @107)) +@117 := proof(@109 proof(proof(proof(@18 proof(@48 @4)) proof(proof(proof(@51 @4) @39) @12)) @14)) +@120 := proof(proof(proof(Nat.eq_of_beq_eq_true) @103) @107) +@121 := proof(Eq.refl.{1}) +@122 := Bool +@123 := proof(@121 @122) +@124 := Bool.true +@125 := proof(@123 @124) +@126 := proof(@120 @125) +@131 := proof(proof(@88 proof(fun (h : @65) => proof(proof(@117 @126) @28))) @45) +@132 := proof(Eq.symm.{1}) +@133 := proof(@132 @43) +@134 := proof(@133 @45) +@137 := proof(@131 proof(proof(@134 @64) @28)) +@142 := proof(proof(proof(proof(@73 @45) proof(fun (idx : @43) => @75)) @12) @45) +@143 := proof(@134 @45) +@144 := proof(@121 @43) +@152 := proof(@63 + proof(fun (else._@._hyg.#2 : @68) => + proof(fun (h : @65) => + proof(fun (hidx : @71) => proof(@137 proof(@142 proof(@143 proof(@144 @45)))))))) +@153 := proof(Ordering.eq) +@154 := proof(@9 @153) +@155 := proof(@8 @154) +@157 := proof((h : @155) -> proof(@66 @153)) +@158 := proof(@70 @154) +@159 := proof(Eq.refl.{u}) +@161 := proof(@159 proof(@81 @153)) +@162 := proof(@22 @81) +@170 := proof(@152 + proof(fun (else._@._hyg.#2 : @157) => + proof(fun (h : @155) => + proof(fun (hidx : @158) => proof(@161 proof(proof(proof(@162 @153) @66) @13)))))) +@171 := proof(Ordering.gt) +@172 := proof(@9 @171) +@173 := proof(@8 @172) +@188 := proof(proof(proof(@170 + proof(fun (else._@._hyg.#2 : proof((h : @173) -> proof(@66 @171))) => + proof(fun (h : @173) => + proof(fun (hidx : proof(@70 @172)) => + proof(proof(@159 proof(@81 @171)) proof(proof(proof(@162 @171) @66) @13)))))) + @3) + @28) +@189 := proof(@9 @12) +@196 := proof(fun {motive : @2} => + proof(fun (t : @0) => + proof(fun (lt : @5) => + proof(fun (else._@._hyg.#2 : @15) => + proof(fun (h : @17) => proof(@188 proof(@144 @189))))))) +@197 := Sort 1 +@199 := LexLeanCollections.Key @28 +@200 := @42 @122 +@201 := LexLeanCollections.lessThan +@205 := @201 @12 @13 @3 @28 +@206 := @200 @205 +@209 := LexLeanCollections.lessThan.match_1.{1} + (fun (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @0) => @122) +@215 := @209 (LexLeanCollections.Key.compare @12 @13 @3 @28) +@216 := Unit +@217 := fun ("_" : @216) => @124 +@218 := @215 @217 +@219 := Bool.false +@220 := fun (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#25 : @0) => @219 +@226 := {κ : @197} -> + [inst._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#3 : @199] -> + (left : @3) -> (right : @13) -> @206 (@218 @220) +@231 := proof(fun {κ : @197} => + proof(fun [inst : @199] => + proof(fun (left : @3) => proof(fun (right : @13) => proof(@123 @205))))) +@233 := (a._@._internal._hyg.#0 : @28) -> (a._@._internal._hyg.#0 : @13) -> @13 +@234 := List.{0} +@235 := @234 @12 +@236 := @42 @12 +@237 := LexLeanCollections.listFold +@238 := @237 @19 +@242 := @238 @12 @13 @3 @28 +@243 := @236 @242 +@244 := List.foldl.{0, 0} +@255 := {α : @197} -> + {σ : @197} -> (step : @233) -> (initial : @3) -> (values : @235) -> @243 (@244 @12 @19 @13 @3 @28) +@262 := proof(fun {α : @197} => + proof(fun {σ : @197} => + proof(fun (step : @233) => + proof(fun (initial : @3) => proof(fun (values : @235) => proof(proof(@121 @12) @242)))))) +@263 := @234 @28 +@264 := @234 @3 +@265 := @234 @13 +@266 := @42 @265 +@273 := LexLeanRuntime.append @265 (LexLeanRuntime.instAppendableList @13) @3 @28 +@274 := @266 @273 +@275 := HAppend.hAppend.{0, 0, 0} +@278 := @275 @265 @265 @265 +@279 := instHAppendOfAppend.{0} +@280 := @279 @265 +@281 := List.instAppend.{0} +@284 := @278 (@280 (@281 @13)) +@286 := @284 @3 @28 +@290 := {α : @197} -> (xs : @263) -> (ys : @264) -> @274 @286 +@291 := proof(rfl.{1}) +@296 := proof(fun {α : @197} => + proof(fun (xs : @263) => proof(fun (ys : @264) => proof(proof(@291 @265) @273)))) +@302 := LexLeanRuntime.length @264 (LexLeanRuntime.instLengthableList @3) @28 +@303 := @44 @302 +@304 := List.length.{0} +@306 := @304 @3 @28 +@309 := {α : @197} -> (xs : @263) -> @303 @306 +@310 := proof(@291 @43) +@313 := proof(fun {α : @197} => proof(fun (xs : @263) => proof(@310 @302))) +@314 := Int +@315 := Sort 0 +@316 := @42 @315 +@317 := LT.lt.{0} +@320 := @317 @314 Int.instLTInt +@322 := @320 @28 @28 +@323 := @316 @322 +@324 := False +@326 := (a : @314) -> @323 @324 +@327 := proof(eq_false) +@332 := proof(fun (a : @314) => proof(proof(@327 @322) proof(proof(Int.lt_irrefl) @28))) +@338 := @200 (@201 @314 LexLeanCollections.instKeyInt @3 @28) +@339 := Decidable.decide +@340 := @320 @3 +@342 := @339 (@340 @28) +@343 := Int.decLt +@347 := @338 (@342 (@343 @3 @28)) +@349 := (a : @314) -> (b : @314) -> @347 +@350 := proof(id.{0}) +@351 := proof(@350 @347) +@352 := @42 @0 +@353 := proof(Ord.compare.{0}) +@356 := proof(proof(@353 @314) proof(instOrdInt)) +@358 := proof(proof(@356 @13) @3) +@359 := proof(@352 @358) +@360 := proof(@359 @28) +@362 := proof(proof(@356 @12) @13) +@366 := proof(@200 proof(proof(proof(@209 @362) @217) @220)) +@367 := proof(@320 @12) +@368 := proof(@367 @13) +@369 := proof(@339 @368) +@371 := proof(proof(@343 @12) @13) +@372 := proof(@369 @371) +@376 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#2841280706._hygCtx._hyg.#28 : @0) => + proof((h : @360) -> proof(@366 @372)))) +@378 := proof(proof(@356 @3) @28) +@379 := proof(@376 @378) +@380 := proof(@352 @378) +@381 := proof(@380 @4) +@382 := proof(@72 @0) +@383 := proof(@382 @4) +@384 := proof(@352 @362) +@385 := proof(@384 @28) +@389 := proof(@200 proof(proof(proof(@209 @3) @217) @220)) +@398 := proof(fun (x._@.LexLeanRuntime.Laws.#2841280706._hygCtx._hyg.#27 : @0) => + proof((h : @385) -> + proof(@389 proof(proof(@339 proof(proof(@320 @19) @12)) proof(proof(@343 @19) @12))))) +@399 := proof(@383 @398) +@400 := proof(@359 @4) +@401 := proof(of_eq_true) +@402 := proof(@200 @124) +@403 := proof(@402 @372) +@404 := proof(@401 @403) +@405 := proof(Eq.trans.{1}) +@406 := proof(@405 @315) +@407 := proof(@406 @403) +@408 := proof(@402 @124) +@409 := proof(@407 @408) +@410 := proof(True) +@411 := proof(@409 @410) +@412 := proof(congrArg.{1, 1}) +@414 := proof(proof(@412 @122) @315) +@415 := proof(@414 @372) +@417 := proof(proof(@415 @124) @402) +@418 := proof(@405 @122) +@419 := proof(@418 @372) +@420 := proof(@339 @410) +@421 := proof(instDecidableTrue) +@422 := proof(@420 @421) +@424 := proof(proof(@419 @422) @124) +@425 := proof(Decidable.decide.congr_simp) +@426 := proof(@425 @368) +@427 := proof(@426 @410) +@428 := proof(eq_true) +@429 := proof(@428 @368) +@430 := proof(Iff.mp) +@433 := proof(proof(@430 proof(@384 @4)) @368) +@434 := proof(Int.compare_eq_lt) +@443 := proof(@424 + proof(proof(proof(@427 proof(@429 proof(proof(@433 proof(proof(@434 @12) @13)) @28))) @371) + @421)) +@445 := proof(proof(decide_true) @421) +@448 := proof(@411 proof(@417 proof(@443 @445))) +@449 := proof(eq_self.{1}) +@450 := proof(@449 @122) +@451 := proof(@450 @124) +@456 := proof(proof(@399 proof(fun (h : @400) => proof(@404 proof(@448 @451)))) @358) +@457 := proof(@132 @0) +@458 := proof(@457 @358) +@461 := proof(@456 proof(proof(@458 @4) @28)) +@462 := proof(@121 @0) +@463 := proof(@462 @358) +@466 := proof(@379 + proof(fun (h._@.LexLeanRuntime.Laws.#2841280706._hygCtx._hyg.#29 : @381) => proof(@461 @463))) +@467 := proof(@380 @153) +@468 := proof(@382 @153) +@469 := proof(@468 @398) +@470 := proof(@359 @153) +@471 := proof(@200 @219) +@472 := proof(@471 @372) +@473 := proof(@401 @472) +@474 := proof(@406 @472) +@475 := proof(@471 @219) +@477 := proof(proof(@474 @475) @410) +@479 := proof(proof(@415 @219) @471) +@480 := proof(@339 @324) +@481 := proof(instDecidableFalse) +@482 := proof(@480 @481) +@484 := proof(proof(@419 @482) @219) +@485 := proof(@426 @324) +@486 := proof(@406 @368) +@487 := proof(@320 @13) +@490 := proof(proof(@486 proof(@487 @13)) @324) +@491 := proof(congrFun'.{1, 1}) +@493 := proof(proof(@491 @314) @315) +@495 := proof(proof(@493 @367) @487) +@496 := proof(@412 @314) +@498 := proof(@496 proof((a._@._internal._hyg.#0 : @314) -> @315)) +@501 := proof(proof(proof(@498 @12) @13) @320) +@503 := proof(@430 proof(@384 @153)) +@504 := @42 @314 +@505 := proof(@504 @12) +@507 := proof(@503 proof(@505 @13)) +@508 := proof(Int.compare_eq_eq) +@523 := proof(@484 + proof(proof(proof(@485 + proof(proof(@490 + proof(proof(@495 proof(@501 proof(proof(@507 proof(proof(@508 @12) @13)) @28))) + @13)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int._simp_1_3) + @13))) + @371) + @481)) +@525 := proof(proof(decide_false) @481) +@528 := proof(@477 proof(@479 proof(@523 @525))) +@529 := proof(@450 @219) +@540 := proof(@466 + proof(fun (h._@.LexLeanRuntime.Laws.#2841280706._hygCtx._hyg.#30 : @467) => + proof(proof(proof(proof(@469 proof(fun (h : @470) => proof(@473 proof(@528 @529)))) @358) + proof(proof(@458 @153) @28)) + @463))) +@541 := proof(@380 @171) +@542 := proof(@382 @171) +@543 := proof(@542 @398) +@544 := proof(@359 @171) +@545 := proof(@327 @368) +@546 := proof(Iff.mpr) +@547 := Not +@549 := proof(@546 proof(@547 @368)) +@550 := LE.le.{0} +@551 := @550 @314 +@552 := Int.instLEInt +@553 := @551 @552 +@556 := proof(@549 proof(proof(@553 @13) @12)) +@557 := proof(Int.not_lt) +@560 := proof(@556 proof(proof(@557 @12) @13)) +@561 := proof(Int.le_of_lt) +@563 := proof(proof(@561 @13) @12) +@567 := proof(proof(@430 proof(@384 @171)) proof(@487 @12)) +@568 := proof(Int.compare_eq_gt) +@598 := proof(fun (a : @314) => + proof(fun (b : @314) => + proof(@351 + proof(proof(@540 + proof(fun (h._@.LexLeanRuntime.Laws.#2841280706._hygCtx._hyg.#31 : @541) => + proof(proof(proof(proof(@543 + proof(fun (h : @544) => + proof(@473 + proof(proof(@477 + proof(@479 + proof(proof(@484 + proof(proof(proof(@485 + proof(@545 + proof(@560 + proof(@563 + proof(proof(@567 + proof(proof(@568 @12) + @13)) + @28))))) + @371) + @481)) + @525))) + @529)))) + @358) + proof(proof(@458 @171) @28)) + @463))) + proof(@462 @378))))) +@599 := Int16 +@605 := @200 (@201 @599 LexLeanCollections.instKeyInt16 @3 @28) +@606 := Int16.toInt +@607 := @606 @3 +@608 := @320 @607 +@609 := @606 @28 +@615 := @605 (@339 (@608 @609) (@343 @607 @609)) +@617 := (a : @599) -> (b : @599) -> @615 +@618 := proof(@350 @615) +@619 := proof(@606 @13) +@621 := proof(proof(@356 @619) @607) +@622 := proof(@352 @621) +@623 := proof(@622 @28) +@624 := proof(@606 @12) +@626 := proof(proof(@356 @624) @619) +@630 := proof(@200 proof(proof(proof(@209 @626) @217) @220)) +@631 := proof(@320 @624) +@632 := proof(@631 @619) +@633 := proof(@339 @632) +@635 := proof(proof(@343 @624) @619) +@636 := proof(@633 @635) +@640 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#4174233650._hygCtx._hyg.#28 : @0) => + proof((h : @623) -> proof(@630 @636)))) +@642 := proof(proof(@356 @607) @609) +@643 := proof(@640 @642) +@644 := proof(@352 @642) +@645 := proof(@644 @4) +@646 := proof(@352 @626) +@647 := proof(@646 @28) +@648 := proof(@606 @19) +@657 := proof(fun (x._@.LexLeanRuntime.Laws.#4174233650._hygCtx._hyg.#27 : @0) => + proof((h : @647) -> + proof(@389 proof(proof(@339 proof(proof(@320 @648) @624)) proof(proof(@343 @648) @624))))) +@658 := proof(@383 @657) +@659 := proof(@622 @4) +@660 := proof(@402 @636) +@661 := proof(@401 @660) +@664 := proof(proof(proof(@406 @660) @408) @410) +@665 := proof(@414 @636) +@667 := proof(proof(@665 @124) @402) +@668 := proof(@418 @636) +@670 := proof(proof(@668 @422) @124) +@671 := proof(@425 @632) +@693 := proof(proof(@658 + proof(fun (h : @659) => + proof(@661 + proof(proof(@664 + proof(@667 + proof(proof(@670 + proof(proof(proof(proof(@671 @410) + proof(proof(@428 @632) + proof(proof(proof(proof(@430 proof(@646 @4)) @632) + proof(proof(@434 @624) @619)) + @28))) + @635) + @421)) + @445))) + @451)))) + @621) +@694 := proof(@457 @621) +@697 := proof(@693 proof(proof(@694 @4) @28)) +@698 := proof(@462 @621) +@701 := proof(@643 + proof(fun (h._@.LexLeanRuntime.Laws.#4174233650._hygCtx._hyg.#29 : @645) => proof(@697 @698))) +@702 := proof(@644 @153) +@703 := proof(@468 @657) +@704 := proof(@622 @153) +@705 := proof(@471 @636) +@706 := proof(@401 @705) +@709 := proof(proof(proof(@406 @705) @475) @410) +@711 := proof(proof(@665 @219) @471) +@713 := proof(proof(@668 @482) @219) +@714 := proof(@671 @324) +@715 := proof(@406 @632) +@716 := proof(@320 @619) +@806 := proof(fun (a : @599) => + proof(fun (b : @599) => + proof(@618 + proof(proof(proof(@701 + proof(fun (h._@.LexLeanRuntime.Laws.#4174233650._hygCtx._hyg.#30 : @702) => + proof(proof(proof(proof(@703 + proof(fun (h : @704) => + proof(@706 + proof(proof(@709 + proof(@711 + proof(proof(@713 + proof(proof(proof(@714 + proof(proof(proof(proof(@715 + proof(@716 @619)) + @324) + proof(proof(proof(proof(@493 @631) + @716) + proof(proof(proof(proof(@498 + @624) + @619) + @320) + proof(proof(proof(proof(@430 + proof(@646 + @153)) + proof(proof(@504 + @624) + @619)) + proof(proof(@508 + @624) + @619)) + @28))) + @619)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int16._simp_1_3) + @619))) + @635) + @481)) + @525))) + @529)))) + @621) + proof(proof(@694 @153) @28)) + @698))) + proof(fun (h._@.LexLeanRuntime.Laws.#4174233650._hygCtx._hyg.#31 : proof(@644 + @171)) => + proof(proof(proof(proof(proof(@542 @657) + proof(fun (h : proof(@622 @171)) => + proof(@706 + proof(proof(@709 + proof(@711 + proof(proof(@713 + proof(proof(proof(@714 + proof(proof(@327 @632) + proof(proof(proof(proof(@546 + proof(@547 @632)) + proof(proof(@553 @619) @624)) + proof(proof(@557 @624) @619)) + proof(proof(proof(@561 @619) @624) + proof(proof(proof(proof(@430 + proof(@646 @171)) + proof(@716 @624)) + proof(proof(@568 @624) + @619)) + @28))))) + @635) + @481)) + @525))) + @529)))) + @621) + proof(proof(@694 @171) @28)) + @698))) + proof(@462 @642))))) +@807 := Int32 +@813 := @200 (@201 @807 LexLeanCollections.instKeyInt32 @3 @28) +@814 := Int32.toInt +@815 := @814 @3 +@816 := @320 @815 +@817 := @814 @28 +@823 := @813 (@339 (@816 @817) (@343 @815 @817)) +@825 := (a : @807) -> (b : @807) -> @823 +@826 := proof(@350 @823) +@827 := proof(@814 @13) +@829 := proof(proof(@356 @827) @815) +@830 := proof(@352 @829) +@831 := proof(@830 @28) +@832 := proof(@814 @12) +@834 := proof(proof(@356 @832) @827) +@838 := proof(@200 proof(proof(proof(@209 @834) @217) @220)) +@839 := proof(@320 @832) +@840 := proof(@839 @827) +@841 := proof(@339 @840) +@843 := proof(proof(@343 @832) @827) +@844 := proof(@841 @843) +@848 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#1151770593._hygCtx._hyg.#28 : @0) => + proof((h : @831) -> proof(@838 @844)))) +@850 := proof(proof(@356 @815) @817) +@851 := proof(@848 @850) +@852 := proof(@352 @850) +@853 := proof(@852 @4) +@854 := proof(@352 @834) +@855 := proof(@854 @28) +@856 := proof(@814 @19) +@865 := proof(fun (x._@.LexLeanRuntime.Laws.#1151770593._hygCtx._hyg.#27 : @0) => + proof((h : @855) -> + proof(@389 proof(proof(@339 proof(proof(@320 @856) @832)) proof(proof(@343 @856) @832))))) +@866 := proof(@383 @865) +@867 := proof(@830 @4) +@868 := proof(@402 @844) +@869 := proof(@401 @868) +@872 := proof(proof(proof(@406 @868) @408) @410) +@873 := proof(@414 @844) +@875 := proof(proof(@873 @124) @402) +@876 := proof(@418 @844) +@878 := proof(proof(@876 @422) @124) +@879 := proof(@425 @840) +@901 := proof(proof(@866 + proof(fun (h : @867) => + proof(@869 + proof(proof(@872 + proof(@875 + proof(proof(@878 + proof(proof(proof(proof(@879 @410) + proof(proof(@428 @840) + proof(proof(proof(proof(@430 proof(@854 @4)) @840) + proof(proof(@434 @832) @827)) + @28))) + @843) + @421)) + @445))) + @451)))) + @829) +@902 := proof(@457 @829) +@905 := proof(@901 proof(proof(@902 @4) @28)) +@906 := proof(@462 @829) +@909 := proof(@851 + proof(fun (h._@.LexLeanRuntime.Laws.#1151770593._hygCtx._hyg.#29 : @853) => proof(@905 @906))) +@910 := proof(@852 @153) +@911 := proof(@468 @865) +@912 := proof(@830 @153) +@913 := proof(@471 @844) +@914 := proof(@401 @913) +@917 := proof(proof(proof(@406 @913) @475) @410) +@919 := proof(proof(@873 @219) @471) +@921 := proof(proof(@876 @482) @219) +@922 := proof(@879 @324) +@923 := proof(@406 @840) +@924 := proof(@320 @827) +@1014 := proof(fun (a : @807) => + proof(fun (b : @807) => + proof(@826 + proof(proof(proof(@909 + proof(fun (h._@.LexLeanRuntime.Laws.#1151770593._hygCtx._hyg.#30 : @910) => + proof(proof(proof(proof(@911 + proof(fun (h : @912) => + proof(@914 + proof(proof(@917 + proof(@919 + proof(proof(@921 + proof(proof(proof(@922 + proof(proof(proof(proof(@923 + proof(@924 @827)) + @324) + proof(proof(proof(proof(@493 @839) + @924) + proof(proof(proof(proof(@498 + @832) + @827) + @320) + proof(proof(proof(proof(@430 + proof(@854 + @153)) + proof(proof(@504 + @832) + @827)) + proof(proof(@508 + @832) + @827)) + @28))) + @827)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int32._simp_1_3) + @827))) + @843) + @481)) + @525))) + @529)))) + @829) + proof(proof(@902 @153) @28)) + @906))) + proof(fun (h._@.LexLeanRuntime.Laws.#1151770593._hygCtx._hyg.#31 : proof(@852 + @171)) => + proof(proof(proof(proof(proof(@542 @865) + proof(fun (h : proof(@830 @171)) => + proof(@914 + proof(proof(@917 + proof(@919 + proof(proof(@921 + proof(proof(proof(@922 + proof(proof(@327 @840) + proof(proof(proof(proof(@546 + proof(@547 @840)) + proof(proof(@553 @827) @832)) + proof(proof(@557 @832) @827)) + proof(proof(proof(@561 @827) @832) + proof(proof(proof(proof(@430 + proof(@854 @171)) + proof(@924 @832)) + proof(proof(@568 @832) + @827)) + @28))))) + @843) + @481)) + @525))) + @529)))) + @829) + proof(proof(@902 @171) @28)) + @906))) + proof(@462 @850))))) +@1015 := Int64 +@1021 := @200 (@201 @1015 LexLeanCollections.instKeyInt64 @3 @28) +@1022 := Int64.toInt +@1023 := @1022 @3 +@1024 := @320 @1023 +@1025 := @1022 @28 +@1031 := @1021 (@339 (@1024 @1025) (@343 @1023 @1025)) +@1033 := (a : @1015) -> (b : @1015) -> @1031 +@1034 := proof(@350 @1031) +@1035 := proof(@1022 @13) +@1037 := proof(proof(@356 @1035) @1023) +@1038 := proof(@352 @1037) +@1039 := proof(@1038 @28) +@1040 := proof(@1022 @12) +@1042 := proof(proof(@356 @1040) @1035) +@1046 := proof(@200 proof(proof(proof(@209 @1042) @217) @220)) +@1047 := proof(@320 @1040) +@1048 := proof(@1047 @1035) +@1049 := proof(@339 @1048) +@1051 := proof(proof(@343 @1040) @1035) +@1052 := proof(@1049 @1051) +@1056 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#3401855764._hygCtx._hyg.#28 : @0) => + proof((h : @1039) -> proof(@1046 @1052)))) +@1058 := proof(proof(@356 @1023) @1025) +@1059 := proof(@1056 @1058) +@1060 := proof(@352 @1058) +@1061 := proof(@1060 @4) +@1062 := proof(@352 @1042) +@1063 := proof(@1062 @28) +@1064 := proof(@1022 @19) +@1073 := proof(fun (x._@.LexLeanRuntime.Laws.#3401855764._hygCtx._hyg.#27 : @0) => + proof((h : @1063) -> + proof(@389 proof(proof(@339 proof(proof(@320 @1064) @1040)) proof(proof(@343 @1064) @1040))))) +@1074 := proof(@383 @1073) +@1075 := proof(@1038 @4) +@1076 := proof(@402 @1052) +@1077 := proof(@401 @1076) +@1080 := proof(proof(proof(@406 @1076) @408) @410) +@1081 := proof(@414 @1052) +@1083 := proof(proof(@1081 @124) @402) +@1084 := proof(@418 @1052) +@1086 := proof(proof(@1084 @422) @124) +@1087 := proof(@425 @1048) +@1109 := proof(proof(@1074 + proof(fun (h : @1075) => + proof(@1077 + proof(proof(@1080 + proof(@1083 + proof(proof(@1086 + proof(proof(proof(proof(@1087 @410) + proof(proof(@428 @1048) + proof(proof(proof(proof(@430 proof(@1062 @4)) @1048) + proof(proof(@434 @1040) @1035)) + @28))) + @1051) + @421)) + @445))) + @451)))) + @1037) +@1110 := proof(@457 @1037) +@1113 := proof(@1109 proof(proof(@1110 @4) @28)) +@1114 := proof(@462 @1037) +@1117 := proof(@1059 + proof(fun (h._@.LexLeanRuntime.Laws.#3401855764._hygCtx._hyg.#29 : @1061) => + proof(@1113 @1114))) +@1118 := proof(@1060 @153) +@1119 := proof(@468 @1073) +@1120 := proof(@1038 @153) +@1121 := proof(@471 @1052) +@1122 := proof(@401 @1121) +@1125 := proof(proof(proof(@406 @1121) @475) @410) +@1127 := proof(proof(@1081 @219) @471) +@1129 := proof(proof(@1084 @482) @219) +@1130 := proof(@1087 @324) +@1131 := proof(@406 @1048) +@1132 := proof(@320 @1035) +@1222 := proof(fun (a : @1015) => + proof(fun (b : @1015) => + proof(@1034 + proof(proof(proof(@1117 + proof(fun (h._@.LexLeanRuntime.Laws.#3401855764._hygCtx._hyg.#30 : @1118) => + proof(proof(proof(proof(@1119 + proof(fun (h : @1120) => + proof(@1122 + proof(proof(@1125 + proof(@1127 + proof(proof(@1129 + proof(proof(proof(@1130 + proof(proof(proof(proof(@1131 + proof(@1132 @1035)) + @324) + proof(proof(proof(proof(@493 + @1047) + @1132) + proof(proof(proof(proof(@498 + @1040) + @1035) + @320) + proof(proof(proof(proof(@430 + proof(@1062 + @153)) + proof(proof(@504 + @1040) + @1035)) + proof(proof(@508 + @1040) + @1035)) + @28))) + @1035)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int64._simp_1_3) + @1035))) + @1051) + @481)) + @525))) + @529)))) + @1037) + proof(proof(@1110 @153) @28)) + @1114))) + proof(fun (h._@.LexLeanRuntime.Laws.#3401855764._hygCtx._hyg.#31 : proof(@1060 + @171)) => + proof(proof(proof(proof(proof(@542 @1073) + proof(fun (h : proof(@1038 @171)) => + proof(@1122 + proof(proof(@1125 + proof(@1127 + proof(proof(@1129 + proof(proof(proof(@1130 + proof(proof(@327 @1048) + proof(proof(proof(proof(@546 + proof(@547 @1048)) + proof(proof(@553 @1035) + @1040)) + proof(proof(@557 @1040) @1035)) + proof(proof(proof(@561 @1035) + @1040) + proof(proof(proof(proof(@430 + proof(@1062 @171)) + proof(@1132 @1040)) + proof(proof(@568 @1040) + @1035)) + @28))))) + @1051) + @481)) + @525))) + @529)))) + @1037) + proof(proof(@1110 @171) @28)) + @1114))) + proof(@462 @1058))))) +@1223 := Int8 +@1229 := @200 (@201 @1223 LexLeanCollections.instKeyInt8 @3 @28) +@1230 := Int8.toInt +@1231 := @1230 @3 +@1232 := @320 @1231 +@1233 := @1230 @28 +@1239 := @1229 (@339 (@1232 @1233) (@343 @1231 @1233)) +@1241 := (a : @1223) -> (b : @1223) -> @1239 +@1242 := proof(@350 @1239) +@1243 := proof(@1230 @13) +@1245 := proof(proof(@356 @1243) @1231) +@1246 := proof(@352 @1245) +@1247 := proof(@1246 @28) +@1248 := proof(@1230 @12) +@1250 := proof(proof(@356 @1248) @1243) +@1254 := proof(@200 proof(proof(proof(@209 @1250) @217) @220)) +@1255 := proof(@320 @1248) +@1256 := proof(@1255 @1243) +@1257 := proof(@339 @1256) +@1259 := proof(proof(@343 @1248) @1243) +@1260 := proof(@1257 @1259) +@1264 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#1649950661._hygCtx._hyg.#28 : @0) => + proof((h : @1247) -> proof(@1254 @1260)))) +@1266 := proof(proof(@356 @1231) @1233) +@1267 := proof(@1264 @1266) +@1268 := proof(@352 @1266) +@1269 := proof(@1268 @4) +@1270 := proof(@352 @1250) +@1271 := proof(@1270 @28) +@1272 := proof(@1230 @19) +@1281 := proof(fun (x._@.LexLeanRuntime.Laws.#1649950661._hygCtx._hyg.#27 : @0) => + proof((h : @1271) -> + proof(@389 proof(proof(@339 proof(proof(@320 @1272) @1248)) proof(proof(@343 @1272) @1248))))) +@1282 := proof(@383 @1281) +@1283 := proof(@1246 @4) +@1284 := proof(@402 @1260) +@1285 := proof(@401 @1284) +@1288 := proof(proof(proof(@406 @1284) @408) @410) +@1289 := proof(@414 @1260) +@1291 := proof(proof(@1289 @124) @402) +@1292 := proof(@418 @1260) +@1294 := proof(proof(@1292 @422) @124) +@1295 := proof(@425 @1256) +@1317 := proof(proof(@1282 + proof(fun (h : @1283) => + proof(@1285 + proof(proof(@1288 + proof(@1291 + proof(proof(@1294 + proof(proof(proof(proof(@1295 @410) + proof(proof(@428 @1256) + proof(proof(proof(proof(@430 proof(@1270 @4)) @1256) + proof(proof(@434 @1248) @1243)) + @28))) + @1259) + @421)) + @445))) + @451)))) + @1245) +@1318 := proof(@457 @1245) +@1321 := proof(@1317 proof(proof(@1318 @4) @28)) +@1322 := proof(@462 @1245) +@1325 := proof(@1267 + proof(fun (h._@.LexLeanRuntime.Laws.#1649950661._hygCtx._hyg.#29 : @1269) => + proof(@1321 @1322))) +@1326 := proof(@1268 @153) +@1327 := proof(@468 @1281) +@1328 := proof(@1246 @153) +@1329 := proof(@471 @1260) +@1330 := proof(@401 @1329) +@1333 := proof(proof(proof(@406 @1329) @475) @410) +@1335 := proof(proof(@1289 @219) @471) +@1337 := proof(proof(@1292 @482) @219) +@1338 := proof(@1295 @324) +@1339 := proof(@406 @1256) +@1340 := proof(@320 @1243) +@1430 := proof(fun (a : @1223) => + proof(fun (b : @1223) => + proof(@1242 + proof(proof(proof(@1325 + proof(fun (h._@.LexLeanRuntime.Laws.#1649950661._hygCtx._hyg.#30 : @1326) => + proof(proof(proof(proof(@1327 + proof(fun (h : @1328) => + proof(@1330 + proof(proof(@1333 + proof(@1335 + proof(proof(@1337 + proof(proof(proof(@1338 + proof(proof(proof(proof(@1339 + proof(@1340 @1243)) + @324) + proof(proof(proof(proof(@493 + @1255) + @1340) + proof(proof(proof(proof(@498 + @1248) + @1243) + @320) + proof(proof(proof(proof(@430 + proof(@1270 + @153)) + proof(proof(@504 + @1248) + @1243)) + proof(proof(@508 + @1248) + @1243)) + @28))) + @1243)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_int8._simp_1_3) + @1243))) + @1259) + @481)) + @525))) + @529)))) + @1245) + proof(proof(@1318 @153) @28)) + @1322))) + proof(fun (h._@.LexLeanRuntime.Laws.#1649950661._hygCtx._hyg.#31 : proof(@1268 + @171)) => + proof(proof(proof(proof(proof(@542 @1281) + proof(fun (h : proof(@1246 @171)) => + proof(@1330 + proof(proof(@1333 + proof(@1335 + proof(proof(@1337 + proof(proof(proof(@1338 + proof(proof(@327 @1256) + proof(proof(proof(proof(@546 + proof(@547 @1256)) + proof(proof(@553 @1243) + @1248)) + proof(proof(@557 @1248) @1243)) + proof(proof(proof(@561 @1243) + @1248) + proof(proof(proof(proof(@430 + proof(@1270 @171)) + proof(@1340 @1248)) + proof(proof(@568 @1248) + @1243)) + @28))))) + @1259) + @481)) + @525))) + @529)))) + @1245) + proof(proof(@1318 @171) @28)) + @1322))) + proof(@462 @1266))))) +@1431 := @317 @43 +@1432 := instLTNat +@1433 := @1431 @1432 +@1435 := @1433 @28 @28 +@1438 := (n : @43) -> @316 @1435 @324 +@1443 := proof(fun (n : @43) => proof(proof(@327 @1435) proof(proof(Nat.lt_irrefl) @28))) +@1449 := @200 (@201 @43 LexLeanCollections.instKeyNat @3 @28) +@1452 := @339 (@1433 @3 @28) +@1453 := Nat.decLt +@1457 := @1449 (@1452 (@1453 @3 @28)) +@1459 := (a : @43) -> (b : @43) -> @1457 +@1460 := proof(@350 @1457) +@1463 := proof(proof(@353 @43) proof(instOrdNat)) +@1465 := proof(proof(@1463 @13) @3) +@1466 := proof(@352 @1465) +@1467 := proof(@1466 @28) +@1469 := proof(proof(@1463 @12) @13) +@1473 := proof(@200 proof(proof(proof(@209 @1469) @217) @220)) +@1474 := proof(@1433 @12) +@1475 := proof(@1474 @13) +@1476 := proof(@339 @1475) +@1478 := proof(proof(@1453 @12) @13) +@1479 := proof(@1476 @1478) +@1483 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#1299915253._hygCtx._hyg.#28 : @0) => + proof((h : @1467) -> proof(@1473 @1479)))) +@1485 := proof(proof(@1463 @3) @28) +@1486 := proof(@1483 @1485) +@1487 := proof(@352 @1485) +@1488 := proof(@1487 @4) +@1489 := proof(@352 @1469) +@1499 := proof(fun (x._@.LexLeanRuntime.Laws.#1299915253._hygCtx._hyg.#27 : @0) => + proof((h : proof(@1489 @28)) -> + proof(@389 proof(proof(@339 proof(proof(@1433 @19) @12)) proof(proof(@1453 @19) @12))))) +@1500 := proof(@383 @1499) +@1501 := proof(@1466 @4) +@1502 := proof(@402 @1479) +@1503 := proof(@401 @1502) +@1506 := proof(proof(proof(@406 @1502) @408) @410) +@1507 := proof(@414 @1479) +@1509 := proof(proof(@1507 @124) @402) +@1510 := proof(@418 @1479) +@1512 := proof(proof(@1510 @422) @124) +@1513 := proof(@425 @1475) +@1514 := proof(@1513 @410) +@1515 := proof(@428 @1475) +@1518 := proof(proof(@430 proof(@1489 @4)) @1475) +@1519 := proof(Nat.compare_eq_lt) +@1536 := proof(proof(@1500 + proof(fun (h : @1501) => + proof(@1503 + proof(proof(@1506 + proof(@1509 + proof(proof(@1512 + proof(proof(proof(@1514 + proof(@1515 + proof(proof(@1518 proof(proof(@1519 @12) @13)) @28))) + @1478) + @421)) + @445))) + @451)))) + @1465) +@1537 := proof(@457 @1465) +@1540 := proof(@1536 proof(proof(@1537 @4) @28)) +@1541 := proof(@462 @1465) +@1544 := proof(@1486 + proof(fun (h._@.LexLeanRuntime.Laws.#1299915253._hygCtx._hyg.#29 : @1488) => + proof(@1540 @1541))) +@1545 := proof(@1487 @153) +@1546 := proof(@468 @1499) +@1547 := proof(@1466 @153) +@1548 := proof(@471 @1479) +@1549 := proof(@401 @1548) +@1552 := proof(proof(proof(@406 @1548) @475) @410) +@1554 := proof(proof(@1507 @219) @471) +@1556 := proof(proof(@1510 @482) @219) +@1557 := proof(@1513 @324) +@1558 := proof(@406 @1475) +@1559 := proof(@1433 @13) +@1562 := proof(proof(@1558 proof(@1559 @13)) @324) +@1564 := proof(proof(@491 @43) @315) +@1566 := proof(proof(@1564 @1474) @1559) +@1567 := proof(@412 @43) +@1569 := proof(@1567 proof((a._@._internal._hyg.#0 : @43) -> @315)) +@1572 := proof(proof(proof(@1569 @12) @13) @1433) +@1577 := proof(proof(@430 proof(@1489 @153)) proof(proof(@44 @12) @13)) +@1578 := proof(Nat.compare_eq_eq) +@1607 := proof(@1544 + proof(fun (h._@.LexLeanRuntime.Laws.#1299915253._hygCtx._hyg.#30 : @1545) => + proof(proof(proof(proof(@1546 + proof(fun (h : @1547) => + proof(@1549 + proof(proof(@1552 + proof(@1554 + proof(proof(@1556 + proof(proof(proof(@1557 + proof(proof(@1562 + proof(proof(@1566 + proof(@1572 + proof(proof(@1577 + proof(proof(@1578 @12) @13)) + @28))) + @13)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_nat._simp_1_3) + @13))) + @1478) + @481)) + @525))) + @529)))) + @1465) + proof(proof(@1537 @153) @28)) + @1541))) +@1608 := proof(@1487 @171) +@1609 := proof(@542 @1499) +@1610 := proof(@1466 @171) +@1611 := proof(@327 @1475) +@1613 := proof(@546 proof(@547 @1475)) +@1616 := proof(proof(@550 @43) proof(instLENat)) +@1619 := proof(@1613 proof(proof(@1616 @13) @12)) +@1620 := proof(Nat.not_lt) +@1623 := proof(@1619 proof(proof(@1620 @12) @13)) +@1624 := proof(Nat.le_of_lt) +@1626 := proof(proof(@1624 @13) @12) +@1630 := proof(proof(@430 proof(@1489 @171)) proof(@1559 @12)) +@1631 := proof(Nat.compare_eq_gt) +@1661 := proof(fun (a : @43) => + proof(fun (b : @43) => + proof(@1460 + proof(proof(@1607 + proof(fun (h._@.LexLeanRuntime.Laws.#1299915253._hygCtx._hyg.#31 : @1608) => + proof(proof(proof(proof(@1609 + proof(fun (h : @1610) => + proof(@1549 + proof(proof(@1552 + proof(@1554 + proof(proof(@1556 + proof(proof(proof(@1557 + proof(@1611 + proof(@1623 + proof(@1626 + proof(proof(@1630 + proof(proof(@1631 @12) + @13)) + @28))))) + @1478) + @481)) + @525))) + @529)))) + @1465) + proof(proof(@1537 @171) @28)) + @1541))) + proof(@462 @1485))))) +@1662 := UInt16 +@1668 := @200 (@201 @1662 LexLeanCollections.instKeyUInt16 @3 @28) +@1669 := UInt16.toNat +@1670 := @1669 @3 +@1671 := @1433 @1670 +@1672 := @1669 @28 +@1678 := @1668 (@339 (@1671 @1672) (@1453 @1670 @1672)) +@1680 := (a : @1662) -> (b : @1662) -> @1678 +@1681 := proof(@350 @1678) +@1682 := proof(@1669 @13) +@1684 := proof(proof(@1463 @1682) @1670) +@1685 := proof(@352 @1684) +@1686 := proof(@1685 @28) +@1687 := proof(@1669 @12) +@1689 := proof(proof(@1463 @1687) @1682) +@1693 := proof(@200 proof(proof(proof(@209 @1689) @217) @220)) +@1694 := proof(@1433 @1687) +@1695 := proof(@1694 @1682) +@1696 := proof(@339 @1695) +@1698 := proof(proof(@1453 @1687) @1682) +@1699 := proof(@1696 @1698) +@1703 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#80803952._hygCtx._hyg.#28 : @0) => + proof((h : @1686) -> proof(@1693 @1699)))) +@1705 := proof(proof(@1463 @1670) @1672) +@1706 := proof(@1703 @1705) +@1707 := proof(@352 @1705) +@1708 := proof(@1707 @4) +@1709 := proof(@352 @1689) +@1710 := proof(@1709 @28) +@1711 := proof(@1669 @19) +@1720 := proof(fun (x._@.LexLeanRuntime.Laws.#80803952._hygCtx._hyg.#27 : @0) => + proof((h : @1710) -> + proof(@389 + proof(proof(@339 proof(proof(@1433 @1711) @1687)) proof(proof(@1453 @1711) @1687))))) +@1721 := proof(@383 @1720) +@1722 := proof(@1685 @4) +@1723 := proof(@402 @1699) +@1724 := proof(@401 @1723) +@1727 := proof(proof(proof(@406 @1723) @408) @410) +@1728 := proof(@414 @1699) +@1730 := proof(proof(@1728 @124) @402) +@1731 := proof(@418 @1699) +@1733 := proof(proof(@1731 @422) @124) +@1734 := proof(@425 @1695) +@1756 := proof(proof(@1721 + proof(fun (h : @1722) => + proof(@1724 + proof(proof(@1727 + proof(@1730 + proof(proof(@1733 + proof(proof(proof(proof(@1734 @410) + proof(proof(@428 @1695) + proof(proof(proof(proof(@430 proof(@1709 @4)) @1695) + proof(proof(@1519 @1687) @1682)) + @28))) + @1698) + @421)) + @445))) + @451)))) + @1684) +@1757 := proof(@457 @1684) +@1760 := proof(@1756 proof(proof(@1757 @4) @28)) +@1761 := proof(@462 @1684) +@1764 := proof(@1706 + proof(fun (h._@.LexLeanRuntime.Laws.#80803952._hygCtx._hyg.#29 : @1708) => + proof(@1760 @1761))) +@1765 := proof(@1707 @153) +@1766 := proof(@468 @1720) +@1767 := proof(@1685 @153) +@1768 := proof(@471 @1699) +@1769 := proof(@401 @1768) +@1772 := proof(proof(proof(@406 @1768) @475) @410) +@1774 := proof(proof(@1728 @219) @471) +@1776 := proof(proof(@1731 @482) @219) +@1777 := proof(@1734 @324) +@1778 := proof(@406 @1695) +@1779 := proof(@1433 @1682) +@1869 := proof(fun (a : @1662) => + proof(fun (b : @1662) => + proof(@1681 + proof(proof(proof(@1764 + proof(fun (h._@.LexLeanRuntime.Laws.#80803952._hygCtx._hyg.#30 : @1765) => + proof(proof(proof(proof(@1766 + proof(fun (h : @1767) => + proof(@1769 + proof(proof(@1772 + proof(@1774 + proof(proof(@1776 + proof(proof(proof(@1777 + proof(proof(proof(proof(@1778 + proof(@1779 @1682)) + @324) + proof(proof(proof(proof(@1564 + @1694) + @1779) + proof(proof(proof(proof(@1569 + @1687) + @1682) + @1433) + proof(proof(proof(proof(@430 + proof(@1709 + @153)) + proof(proof(@44 + @1687) + @1682)) + proof(proof(@1578 + @1687) + @1682)) + @28))) + @1682)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint16._simp_1_3) + @1682))) + @1698) + @481)) + @525))) + @529)))) + @1684) + proof(proof(@1757 @153) @28)) + @1761))) + proof(fun (h._@.LexLeanRuntime.Laws.#80803952._hygCtx._hyg.#31 : proof(@1707 + @171)) => + proof(proof(proof(proof(proof(@542 @1720) + proof(fun (h : proof(@1685 @171)) => + proof(@1769 + proof(proof(@1772 + proof(@1774 + proof(proof(@1776 + proof(proof(proof(@1777 + proof(proof(@327 @1695) + proof(proof(proof(proof(@546 + proof(@547 @1695)) + proof(proof(@1616 @1682) + @1687)) + proof(proof(@1620 @1687) @1682)) + proof(proof(proof(@1624 @1682) + @1687) + proof(proof(proof(proof(@430 + proof(@1709 @171)) + proof(@1779 @1687)) + proof(proof(@1631 @1687) + @1682)) + @28))))) + @1698) + @481)) + @525))) + @529)))) + @1684) + proof(proof(@1757 @171) @28)) + @1761))) + proof(@462 @1705))))) +@1870 := UInt32 +@1876 := @200 (@201 @1870 LexLeanCollections.instKeyUInt32 @3 @28) +@1877 := UInt32.toNat +@1878 := @1877 @3 +@1879 := @1433 @1878 +@1880 := @1877 @28 +@1886 := @1876 (@339 (@1879 @1880) (@1453 @1878 @1880)) +@1888 := (a : @1870) -> (b : @1870) -> @1886 +@1889 := proof(@350 @1886) +@1890 := proof(@1877 @13) +@1892 := proof(proof(@1463 @1890) @1878) +@1893 := proof(@352 @1892) +@1894 := proof(@1893 @28) +@1895 := proof(@1877 @12) +@1897 := proof(proof(@1463 @1895) @1890) +@1901 := proof(@200 proof(proof(proof(@209 @1897) @217) @220)) +@1902 := proof(@1433 @1895) +@1903 := proof(@1902 @1890) +@1904 := proof(@339 @1903) +@1906 := proof(proof(@1453 @1895) @1890) +@1907 := proof(@1904 @1906) +@1911 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#4110182791._hygCtx._hyg.#28 : @0) => + proof((h : @1894) -> proof(@1901 @1907)))) +@1913 := proof(proof(@1463 @1878) @1880) +@1914 := proof(@1911 @1913) +@1915 := proof(@352 @1913) +@1916 := proof(@1915 @4) +@1917 := proof(@352 @1897) +@1918 := proof(@1917 @28) +@1919 := proof(@1877 @19) +@1928 := proof(fun (x._@.LexLeanRuntime.Laws.#4110182791._hygCtx._hyg.#27 : @0) => + proof((h : @1918) -> + proof(@389 + proof(proof(@339 proof(proof(@1433 @1919) @1895)) proof(proof(@1453 @1919) @1895))))) +@1929 := proof(@383 @1928) +@1930 := proof(@1893 @4) +@1931 := proof(@402 @1907) +@1932 := proof(@401 @1931) +@1935 := proof(proof(proof(@406 @1931) @408) @410) +@1936 := proof(@414 @1907) +@1938 := proof(proof(@1936 @124) @402) +@1939 := proof(@418 @1907) +@1941 := proof(proof(@1939 @422) @124) +@1942 := proof(@425 @1903) +@1964 := proof(proof(@1929 + proof(fun (h : @1930) => + proof(@1932 + proof(proof(@1935 + proof(@1938 + proof(proof(@1941 + proof(proof(proof(proof(@1942 @410) + proof(proof(@428 @1903) + proof(proof(proof(proof(@430 proof(@1917 @4)) @1903) + proof(proof(@1519 @1895) @1890)) + @28))) + @1906) + @421)) + @445))) + @451)))) + @1892) +@1965 := proof(@457 @1892) +@1968 := proof(@1964 proof(proof(@1965 @4) @28)) +@1969 := proof(@462 @1892) +@1972 := proof(@1914 + proof(fun (h._@.LexLeanRuntime.Laws.#4110182791._hygCtx._hyg.#29 : @1916) => + proof(@1968 @1969))) +@1973 := proof(@1915 @153) +@1974 := proof(@468 @1928) +@1975 := proof(@1893 @153) +@1976 := proof(@471 @1907) +@1977 := proof(@401 @1976) +@1980 := proof(proof(proof(@406 @1976) @475) @410) +@1982 := proof(proof(@1936 @219) @471) +@1984 := proof(proof(@1939 @482) @219) +@1985 := proof(@1942 @324) +@1986 := proof(@406 @1903) +@1987 := proof(@1433 @1890) +@2077 := proof(fun (a : @1870) => + proof(fun (b : @1870) => + proof(@1889 + proof(proof(proof(@1972 + proof(fun (h._@.LexLeanRuntime.Laws.#4110182791._hygCtx._hyg.#30 : @1973) => + proof(proof(proof(proof(@1974 + proof(fun (h : @1975) => + proof(@1977 + proof(proof(@1980 + proof(@1982 + proof(proof(@1984 + proof(proof(proof(@1985 + proof(proof(proof(proof(@1986 + proof(@1987 @1890)) + @324) + proof(proof(proof(proof(@1564 + @1902) + @1987) + proof(proof(proof(proof(@1569 + @1895) + @1890) + @1433) + proof(proof(proof(proof(@430 + proof(@1917 + @153)) + proof(proof(@44 + @1895) + @1890)) + proof(proof(@1578 + @1895) + @1890)) + @28))) + @1890)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint32._simp_1_3) + @1890))) + @1906) + @481)) + @525))) + @529)))) + @1892) + proof(proof(@1965 @153) @28)) + @1969))) + proof(fun (h._@.LexLeanRuntime.Laws.#4110182791._hygCtx._hyg.#31 : proof(@1915 + @171)) => + proof(proof(proof(proof(proof(@542 @1928) + proof(fun (h : proof(@1893 @171)) => + proof(@1977 + proof(proof(@1980 + proof(@1982 + proof(proof(@1984 + proof(proof(proof(@1985 + proof(proof(@327 @1903) + proof(proof(proof(proof(@546 + proof(@547 @1903)) + proof(proof(@1616 @1890) + @1895)) + proof(proof(@1620 @1895) @1890)) + proof(proof(proof(@1624 @1890) + @1895) + proof(proof(proof(proof(@430 + proof(@1917 @171)) + proof(@1987 @1895)) + proof(proof(@1631 @1895) + @1890)) + @28))))) + @1906) + @481)) + @525))) + @529)))) + @1892) + proof(proof(@1965 @171) @28)) + @1969))) + proof(@462 @1913))))) +@2078 := UInt64 +@2084 := @200 (@201 @2078 LexLeanCollections.instKeyUInt64 @3 @28) +@2085 := UInt64.toNat +@2086 := @2085 @3 +@2087 := @1433 @2086 +@2088 := @2085 @28 +@2094 := @2084 (@339 (@2087 @2088) (@1453 @2086 @2088)) +@2096 := (a : @2078) -> (b : @2078) -> @2094 +@2097 := proof(@350 @2094) +@2098 := proof(@2085 @13) +@2100 := proof(proof(@1463 @2098) @2086) +@2101 := proof(@352 @2100) +@2102 := proof(@2101 @28) +@2103 := proof(@2085 @12) +@2105 := proof(proof(@1463 @2103) @2098) +@2109 := proof(@200 proof(proof(proof(@209 @2105) @217) @220)) +@2110 := proof(@1433 @2103) +@2111 := proof(@2110 @2098) +@2112 := proof(@339 @2111) +@2114 := proof(proof(@1453 @2103) @2098) +@2115 := proof(@2112 @2114) +@2119 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#2577802688._hygCtx._hyg.#28 : @0) => + proof((h : @2102) -> proof(@2109 @2115)))) +@2121 := proof(proof(@1463 @2086) @2088) +@2122 := proof(@2119 @2121) +@2123 := proof(@352 @2121) +@2124 := proof(@2123 @4) +@2125 := proof(@352 @2105) +@2126 := proof(@2125 @28) +@2127 := proof(@2085 @19) +@2136 := proof(fun (x._@.LexLeanRuntime.Laws.#2577802688._hygCtx._hyg.#27 : @0) => + proof((h : @2126) -> + proof(@389 + proof(proof(@339 proof(proof(@1433 @2127) @2103)) proof(proof(@1453 @2127) @2103))))) +@2137 := proof(@383 @2136) +@2138 := proof(@2101 @4) +@2139 := proof(@402 @2115) +@2140 := proof(@401 @2139) +@2143 := proof(proof(proof(@406 @2139) @408) @410) +@2144 := proof(@414 @2115) +@2146 := proof(proof(@2144 @124) @402) +@2147 := proof(@418 @2115) +@2149 := proof(proof(@2147 @422) @124) +@2150 := proof(@425 @2111) +@2172 := proof(proof(@2137 + proof(fun (h : @2138) => + proof(@2140 + proof(proof(@2143 + proof(@2146 + proof(proof(@2149 + proof(proof(proof(proof(@2150 @410) + proof(proof(@428 @2111) + proof(proof(proof(proof(@430 proof(@2125 @4)) @2111) + proof(proof(@1519 @2103) @2098)) + @28))) + @2114) + @421)) + @445))) + @451)))) + @2100) +@2173 := proof(@457 @2100) +@2176 := proof(@2172 proof(proof(@2173 @4) @28)) +@2177 := proof(@462 @2100) +@2180 := proof(@2122 + proof(fun (h._@.LexLeanRuntime.Laws.#2577802688._hygCtx._hyg.#29 : @2124) => + proof(@2176 @2177))) +@2181 := proof(@2123 @153) +@2182 := proof(@468 @2136) +@2183 := proof(@2101 @153) +@2184 := proof(@471 @2115) +@2185 := proof(@401 @2184) +@2188 := proof(proof(proof(@406 @2184) @475) @410) +@2190 := proof(proof(@2144 @219) @471) +@2192 := proof(proof(@2147 @482) @219) +@2193 := proof(@2150 @324) +@2194 := proof(@406 @2111) +@2195 := proof(@1433 @2098) +@2285 := proof(fun (a : @2078) => + proof(fun (b : @2078) => + proof(@2097 + proof(proof(proof(@2180 + proof(fun (h._@.LexLeanRuntime.Laws.#2577802688._hygCtx._hyg.#30 : @2181) => + proof(proof(proof(proof(@2182 + proof(fun (h : @2183) => + proof(@2185 + proof(proof(@2188 + proof(@2190 + proof(proof(@2192 + proof(proof(proof(@2193 + proof(proof(proof(proof(@2194 + proof(@2195 @2098)) + @324) + proof(proof(proof(proof(@1564 + @2110) + @2195) + proof(proof(proof(proof(@1569 + @2103) + @2098) + @1433) + proof(proof(proof(proof(@430 + proof(@2125 + @153)) + proof(proof(@44 + @2103) + @2098)) + proof(proof(@1578 + @2103) + @2098)) + @28))) + @2098)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint64._simp_1_3) + @2098))) + @2114) + @481)) + @525))) + @529)))) + @2100) + proof(proof(@2173 @153) @28)) + @2177))) + proof(fun (h._@.LexLeanRuntime.Laws.#2577802688._hygCtx._hyg.#31 : proof(@2123 + @171)) => + proof(proof(proof(proof(proof(@542 @2136) + proof(fun (h : proof(@2101 @171)) => + proof(@2185 + proof(proof(@2188 + proof(@2190 + proof(proof(@2192 + proof(proof(proof(@2193 + proof(proof(@327 @2111) + proof(proof(proof(proof(@546 + proof(@547 @2111)) + proof(proof(@1616 @2098) + @2103)) + proof(proof(@1620 @2103) @2098)) + proof(proof(proof(@1624 @2098) + @2103) + proof(proof(proof(proof(@430 + proof(@2125 @171)) + proof(@2195 @2103)) + proof(proof(@1631 @2103) + @2098)) + @28))))) + @2114) + @481)) + @525))) + @529)))) + @2100) + proof(proof(@2173 @171) @28)) + @2177))) + proof(@462 @2121))))) +@2286 := UInt8 +@2292 := @200 (@201 @2286 LexLeanCollections.instKeyUInt8 @3 @28) +@2293 := UInt8.toNat +@2294 := @2293 @3 +@2295 := @1433 @2294 +@2296 := @2293 @28 +@2302 := @2292 (@339 (@2295 @2296) (@1453 @2294 @2296)) +@2304 := (a : @2286) -> (b : @2286) -> @2302 +@2305 := proof(@350 @2302) +@2306 := proof(@2293 @13) +@2308 := proof(proof(@1463 @2306) @2294) +@2309 := proof(@352 @2308) +@2310 := proof(@2309 @28) +@2311 := proof(@2293 @12) +@2313 := proof(proof(@1463 @2311) @2306) +@2317 := proof(@200 proof(proof(proof(@209 @2313) @217) @220)) +@2318 := proof(@1433 @2311) +@2319 := proof(@2318 @2306) +@2320 := proof(@339 @2319) +@2322 := proof(proof(@1453 @2311) @2306) +@2323 := proof(@2320 @2322) +@2327 := proof(@36 + proof(fun (t._@.LexLeanRuntime.Laws.#3872454924._hygCtx._hyg.#28 : @0) => + proof((h : @2310) -> proof(@2317 @2323)))) +@2329 := proof(proof(@1463 @2294) @2296) +@2330 := proof(@2327 @2329) +@2331 := proof(@352 @2329) +@2332 := proof(@2331 @4) +@2333 := proof(@352 @2313) +@2334 := proof(@2333 @28) +@2335 := proof(@2293 @19) +@2344 := proof(fun (x._@.LexLeanRuntime.Laws.#3872454924._hygCtx._hyg.#27 : @0) => + proof((h : @2334) -> + proof(@389 + proof(proof(@339 proof(proof(@1433 @2335) @2311)) proof(proof(@1453 @2335) @2311))))) +@2345 := proof(@383 @2344) +@2346 := proof(@2309 @4) +@2347 := proof(@402 @2323) +@2348 := proof(@401 @2347) +@2351 := proof(proof(proof(@406 @2347) @408) @410) +@2352 := proof(@414 @2323) +@2354 := proof(proof(@2352 @124) @402) +@2355 := proof(@418 @2323) +@2357 := proof(proof(@2355 @422) @124) +@2358 := proof(@425 @2319) +@2380 := proof(proof(@2345 + proof(fun (h : @2346) => + proof(@2348 + proof(proof(@2351 + proof(@2354 + proof(proof(@2357 + proof(proof(proof(proof(@2358 @410) + proof(proof(@428 @2319) + proof(proof(proof(proof(@430 proof(@2333 @4)) @2319) + proof(proof(@1519 @2311) @2306)) + @28))) + @2322) + @421)) + @445))) + @451)))) + @2308) +@2381 := proof(@457 @2308) +@2384 := proof(@2380 proof(proof(@2381 @4) @28)) +@2385 := proof(@462 @2308) +@2388 := proof(@2330 + proof(fun (h._@.LexLeanRuntime.Laws.#3872454924._hygCtx._hyg.#29 : @2332) => + proof(@2384 @2385))) +@2389 := proof(@2331 @153) +@2390 := proof(@468 @2344) +@2391 := proof(@2309 @153) +@2392 := proof(@471 @2323) +@2393 := proof(@401 @2392) +@2396 := proof(proof(proof(@406 @2392) @475) @410) +@2398 := proof(proof(@2352 @219) @471) +@2400 := proof(proof(@2355 @482) @219) +@2401 := proof(@2358 @324) +@2402 := proof(@406 @2319) +@2403 := proof(@1433 @2306) +@2493 := proof(fun (a : @2286) => + proof(fun (b : @2286) => + proof(@2305 + proof(proof(proof(@2388 + proof(fun (h._@.LexLeanRuntime.Laws.#3872454924._hygCtx._hyg.#30 : @2389) => + proof(proof(proof(proof(@2390 + proof(fun (h : @2391) => + proof(@2393 + proof(proof(@2396 + proof(@2398 + proof(proof(@2400 + proof(proof(proof(@2401 + proof(proof(proof(proof(@2402 + proof(@2403 @2306)) + @324) + proof(proof(proof(proof(@1564 + @2318) + @2403) + proof(proof(proof(proof(@1569 + @2311) + @2306) + @1433) + proof(proof(proof(proof(@430 + proof(@2333 + @153)) + proof(proof(@44 + @2311) + @2306)) + proof(proof(@1578 + @2311) + @2306)) + @28))) + @2306)) + proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.lessThan_uint8._simp_1_3) + @2306))) + @2322) + @481)) + @525))) + @529)))) + @2308) + proof(proof(@2381 @153) @28)) + @2385))) + proof(fun (h._@.LexLeanRuntime.Laws.#3872454924._hygCtx._hyg.#31 : proof(@2331 + @171)) => + proof(proof(proof(proof(proof(@542 @2344) + proof(fun (h : proof(@2309 @171)) => + proof(@2393 + proof(proof(@2396 + proof(@2398 + proof(proof(@2400 + proof(proof(proof(@2401 + proof(proof(@327 @2319) + proof(proof(proof(proof(@546 + proof(@547 @2319)) + proof(proof(@1616 @2306) + @2311)) + proof(proof(@1620 @2311) @2306)) + proof(proof(proof(@1624 @2306) + @2311) + proof(proof(proof(proof(@430 + proof(@2333 @171)) + proof(@2403 @2311)) + proof(proof(@1631 @2311) + @2306)) + @28))))) + @2322) + @481)) + @525))) + @529)))) + @2308) + proof(proof(@2381 @171) @28)) + @2385))) + proof(@462 @2329))))) +@2494 := Sort u_1 +@2495 := (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @263) -> + @2494 +@2496 := List.nil.{0} +@2497 := @2496 @12 +@2498 := @13 @2497 +@2499 := ("_" : @216) -> @2498 +@2500 := @234 @19 +@2501 := List.cons.{0} +@2502 := @2501 @66 +@2504 := @2502 @3 @28 +@2507 := (x : @12) -> (xs : @2500) -> @19 @2504 +@2512 := {α : @197} -> + (motive : @2495) -> + (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @264) -> + (h_1 : @2499) -> (h_2 : @2507) -> @14 +@2514 := List.casesOn.{u_1, 0} @19 +@2515 := @19 @28 +@2518 := @2514 (fun (x : @2500) => @2515) @13 +@2519 := Unit.unit +@2520 := @3 @2519 +@2521 := @2518 @2520 +@2522 := @234 @66 +@2531 := fun {α : @197} => + fun (motive : @2495) => + fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @264) => + fun (h_1 : @2499) => + fun (h_2 : @2507) => + @2521 + (fun (head._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#47 : @19) => + fun (tail._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#48 : @2522) => @56 @28) +@2532 := (a._@._internal._hyg.#0 : @28) -> @314 +@2533 := List.below.{1, 0} +@2534 := @2533 @13 +@2535 := fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @265) => @314 +@2537 := @2534 @2535 @28 +@2541 := {α : @197} -> + (k : @2532) -> + (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @264) -> (f : @2537) -> @314 +@2542 := LexLeanLaws.sumNat.match_1.{1} +@2543 := proof(@2542 @12) +@2544 := proof(@2533 @19) +@2546 := proof(@2544 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @2500) => @314)) +@2551 := proof(proof(@2543 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @235) => + proof((x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : proof(@2546 @28)) -> + @314))) + @3) +@2552 := @2496 @19 +@2553 := proof(@2546 @2552) +@2554 := @91 @314 +@2555 := @2554 @101 +@2556 := instOfNat +@2558 := @2555 (@2556 @101) +@2561 := proof(@2551 + proof(fun ("_" : @216) => + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @2553) => @2558))) +@2562 := proof(@2533 @66) +@2563 := proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @2522) => @314) +@2564 := proof(@2562 @2563) +@2565 := proof(@2564 @2504) +@2566 := HAdd.hAdd.{0, 0, 0} +@2569 := @2566 @314 @314 @314 +@2570 := instHAdd.{0} +@2574 := @2569 (@2570 @314 Int.instAdd) +@2575 := proof(@66 @13) +@2576 := proof(@2574 @2575) +@2577 := proof(proj PProd PProd.fst 0 @28) +@2583 := proof(proof(@2561 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @2565) => + proof(@2576 @2577))))) + @28) +@2587 := fun {α : @197} => + fun (k : @2532) => + fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @264) => fun (f : @2537) => @2583 +@2590 := {α : @197} -> (k : @2532) -> (a._@._internal._hyg.#0 : @264) -> @314 +@2591 := proof(List.brecOn.{1, 0}) +@2592 := @2591 @13 +@2594 := @2592 @2535 @28 +@2595 := proof(LexLeanLaws.sumInt._f) +@2597 := proof(proof(@2595 @13) @3) +@2601 := fun {α : @197} => + fun (k : @2532) => + fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @264) => @2594 @2597 +@2602 := @2542 @13 +@2605 := @2602 + (fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @265) => + @314) + @28 +@2606 := fun ("_" : @216) => @2558 +@2607 := @2605 @2606 +@2608 := @12 @3 +@2609 := @2574 @2608 +@2610 := LexLeanLaws.sumInt +@2611 := @2610 @19 +@2612 := @2611 @12 +@2613 := @2612 @28 +@2614 := @2609 @2613 +@2617 := @2607 (fun (x : @13) => fun (xs : @235) => @2614) +@2620 := fun {α : @197} => + fun (k : @2532) => fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @264) => @2617 +@2621 := @2574 @28 +@2623 := @2574 (@2621 @14) +@2624 := @2612 @3 +@2626 := @504 (@2623 @2624) +@2627 := @2574 @14 +@2628 := @2627 @2624 +@2631 := @547 (@2626 (@2621 @2628)) +@2637 := {α : @197} -> + (k : @2532) -> + (x : @3) -> + (xs : @265) -> + (z : @314) -> (a._@._internal.#0.LexLeanRuntime.Laws.#568462251._hygCtx._hyg.#74 : @2631) -> @324 +@2638 := proof(Or.elim) +@2639 := @2574 @3 +@2641 := proof(@2574 proof(@2639 @20)) +@2642 := proof(@2610 @66) +@2643 := proof(@2642 @19) +@2644 := proof(@2643 @13) +@2645 := proof(@2641 @2644) +@2646 := proof(@320 @2645) +@2647 := proof(@2574 @20) +@2648 := proof(@2647 @2644) +@2649 := proof(@2639 @2648) +@2650 := proof(@2646 @2649) +@2651 := proof(@2638 @2650) +@2653 := proof(proof(@320 @2649) @2645) +@2655 := proof(proof(@2651 @2653) @324) +@2656 := proof(Int.lt_or_gt_of_ne) +@2660 := proof(@2655 proof(proof(proof(@2656 @2645) @2649) @28)) +@2661 := proof(Lean.Omega.Constraint.not_sat'_of_isImpossible) +@2662 := proof(Lean.Omega.Constraint.mk) +@2664 := proof(proof(Option.some.{0}) @314) +@2667 := proof(proof(@2554 @7) proof(@2556 @7)) +@2669 := proof(@2662 proof(@2664 @2667)) +@2671 := proof(@2669 proof(@2664 @2558)) +@2672 := proof(@2661 @2671) +@2673 := proof(of_decide_eq_true) +@2674 := proof(Lean.Omega.Constraint.isImpossible) +@2675 := proof(@2674 @2671) +@2677 := proof(proof(@200 @2675) @124) +@2678 := proof(@2673 @2677) +@2679 := instDecidableEqBool +@2681 := proof(proof(@2679 @2675) @124) +@2690 := proof(@2672 + proof(proof(@2678 @2681) + proof(proof(@350 proof(proof(@200 proof(proof(@339 @2677) @2681)) @124)) @125))) +@2691 := proof(@2501 @314) +@2692 := proof(@2691 @2558) +@2693 := proof(@2496 @314) +@2694 := proof(@2692 @2693) +@2695 := proof(@2692 @2694) +@2696 := proof(@2692 @2695) +@2697 := proof(@2690 @2696) +@2698 := proof(Lean.Omega.Coeffs.ofList) +@2699 := proof(@2691 @13) +@2700 := proof(@66 @19) +@2701 := proof(@2691 @2700) +@2702 := proof(@2610 @39) +@2703 := proof(@2702 @66) +@2704 := proof(@2703 @12) +@2706 := proof(proof(@2691 @2704) @2693) +@2707 := proof(@2701 @2706) +@2709 := proof(@2698 proof(@2699 @2707)) +@2710 := proof(@2697 @2709) +@2711 := proof(Lean.Omega.tidy_sat) +@2713 := proof(proof(Option.none.{0}) @314) +@2714 := proof(@2669 @2713) +@2715 := proof(@2711 @2714) +@2716 := proof(@2715 @2696) +@2717 := proof(@2716 @2709) +@2718 := proof(Lean.Omega.Constraint.addInequality_sat) +@2719 := Neg.neg.{0} +@2722 := @2719 @314 Int.instNegInt +@2723 := proof(@2722 @2667) +@2724 := proof(@2718 @2723) +@2725 := proof(@2724 @2696) +@2726 := proof(@2725 @2709) +@2729 := proof(proof(proof(le_of_le_of_eq.{0}) @314) @2558) +@2730 := HSub.hSub.{0, 0, 0} +@2733 := @2730 @314 @314 @314 +@2734 := instHSub.{0} +@2738 := @2733 (@2734 @314 Int.instSub) +@2739 := proof(@2574 @13) +@2740 := proof(@2574 @2700) +@2741 := proof(@2740 @2704) +@2742 := proof(@2739 @2741) +@2743 := proof(@2738 @2742) +@2744 := proof(@2739 @2700) +@2746 := proof(proof(@2574 @2744) @2704) +@2748 := proof(proof(@2574 @2746) @2667) +@2749 := proof(@2743 @2748) +@2750 := proof(@2729 @2749) +@2751 := proof(Lean.Omega.LinearCombo.eval) +@2752 := proof(Lean.Omega.LinearCombo) +@2759 := proof(proof(proof(proof(@2730 @2752) @2752) @2752) + proof(proof(@2734 @2752) proof(Lean.Omega.LinearCombo.instSub))) +@2760 := proof(Lean.Omega.LinearCombo.mk) +@2761 := proof(@2760 @2558) +@2762 := proof(@2691 @2667) +@2763 := proof(@2762 @2693) +@2764 := proof(@2762 @2763) +@2765 := proof(@2762 @2764) +@2766 := proof(@2761 @2765) +@2767 := proof(@2759 @2766) +@2768 := proof(@2760 @2667) +@2769 := proof(@2768 @2765) +@2771 := proof(@2751 proof(@2767 @2769)) +@2772 := proof(@2771 @2709) +@2774 := proof(proof(@2750 @2772) @552) +@2775 := proof(Int.sub_nonneg_of_le) +@2777 := proof(proof(@2775 @2742) @2748) +@2778 := proof(Int.add_one_le_of_lt) +@2783 := proof(@2774 proof(@2777 proof(proof(proof(@2778 @2746) @2742) @28))) +@2784 := proof(@405 @314) +@2785 := proof(@2784 @2749) +@2792 := proof(proof(proof(proof(@2566 @2752) @2752) @2752) + proof(proof(@2570 @2752) proof(Lean.Omega.LinearCombo.instAdd))) +@2793 := proof(@2761 @2763) +@2794 := proof(@2792 @2793) +@2795 := proof(@2692 @2764) +@2796 := proof(@2761 @2795) +@2798 := proof(@2751 proof(@2794 @2796)) +@2799 := proof(@2798 @2709) +@2800 := proof(@2738 @2799) +@2801 := proof(@2792 @2766) +@2802 := proof(@2768 @2693) +@2804 := proof(@2751 proof(@2801 @2802)) +@2805 := proof(@2804 @2709) +@2808 := proof(proof(@2785 proof(@2800 @2805)) @2772) +@2809 := proof(Lean.Omega.Int.sub_congr) +@2813 := proof(proof(proof(proof(@2809 @2742) @2799) @2748) @2805) +@2814 := proof(@2784 @2742) +@2815 := proof(Lean.Omega.LinearCombo.coordinate) +@2818 := @105 @101 (@95 @101) +@2820 := proof(@2751 proof(@2815 @2818)) +@2821 := proof(@2820 @2709) +@2822 := proof(@2574 @2821) +@2823 := proof(@2692 @2763) +@2824 := proof(@2761 @2823) +@2825 := proof(@2792 @2824) +@2826 := proof(@2692 @2823) +@2827 := proof(@2761 @2826) +@2829 := proof(@2751 proof(@2825 @2827)) +@2830 := proof(@2829 @2709) +@2833 := proof(proof(@2814 proof(@2822 @2830)) @2799) +@2834 := proof(Lean.Omega.Int.add_congr) +@2835 := proof(@2834 @13) +@2836 := proof(@2835 @2821) +@2838 := proof(proof(@2836 @2741) @2830) +@2839 := proof(@132 @314) +@2841 := proof(proof(@2839 @2821) @13) +@2842 := proof(Lean.Omega.LinearCombo.coordinate_eval_0) +@2843 := proof(@2842 @13) +@2845 := proof(@2841 proof(@2843 @2707)) +@2846 := proof(@2838 @2845) +@2847 := proof(@2784 @2741) +@2849 := proof(@2751 proof(@2815 @107)) +@2850 := proof(@2849 @2709) +@2851 := proof(@2574 @2850) +@2852 := proof(2) +@2857 := proof(@2751 proof(@2815 proof(proof(@105 @2852) proof(@95 @2852)))) +@2858 := proof(@2857 @2709) +@2861 := proof(proof(@2847 proof(@2851 @2858)) @2830) +@2862 := proof(@2834 @2700) +@2865 := proof(proof(proof(@2862 @2850) @2704) @2858) +@2867 := proof(proof(@2839 @2850) @2700) +@2868 := proof(Lean.Omega.LinearCombo.coordinate_eval_1) +@2872 := proof(@2867 proof(proof(proof(@2868 @13) @2700) @2706)) +@2873 := proof(@2865 @2872) +@2875 := proof(proof(@2839 @2858) @2704) +@2876 := proof(Lean.Omega.LinearCombo.coordinate_eval_2) +@2881 := proof(@2875 proof(proof(proof(proof(@2876 @13) @2700) @2704) @2693)) +@2883 := proof(@2861 proof(@2873 @2881)) +@2884 := proof(@2839 @2830) +@2885 := proof(@2751 @2824) +@2886 := proof(@2885 @2709) +@2887 := proof(@2574 @2886) +@2888 := proof(@2751 @2827) +@2889 := proof(@2888 @2709) +@2891 := proof(@2884 proof(@2887 @2889)) +@2892 := proof(Lean.Omega.LinearCombo.add_eval) +@2893 := proof(@2892 @2824) +@2894 := proof(@2893 @2827) +@2897 := proof(@2883 proof(@2891 proof(@2894 @2709))) +@2899 := proof(@2833 proof(@2846 @2897)) +@2900 := proof(@2839 @2799) +@2901 := proof(@2751 @2793) +@2902 := proof(@2901 @2709) +@2903 := proof(@2574 @2902) +@2904 := proof(@2751 @2796) +@2905 := proof(@2904 @2709) +@2907 := proof(@2900 proof(@2903 @2905)) +@2908 := proof(@2892 @2793) +@2909 := proof(@2908 @2796) +@2912 := proof(@2899 proof(@2907 proof(@2909 @2709))) +@2913 := proof(@2813 @2912) +@2914 := proof(@2784 @2748) +@2915 := proof(@2761 @2764) +@2918 := proof(@2751 proof(proof(@2792 @2915) @2827)) +@2919 := proof(@2918 @2709) +@2920 := proof(@2574 @2919) +@2921 := proof(@2751 @2802) +@2922 := proof(@2921 @2709) +@2925 := proof(proof(@2914 proof(@2920 @2922)) @2805) +@2929 := proof(proof(proof(proof(@2834 @2746) @2919) @2667) @2922) +@2930 := proof(@2784 @2746) +@2932 := proof(@2751 proof(@2794 @2824)) +@2933 := proof(@2932 @2709) +@2937 := proof(proof(@2930 proof(proof(@2574 @2933) @2858)) @2919) +@2941 := proof(proof(proof(proof(@2834 @2744) @2933) @2704) @2858) +@2950 := proof(proof(proof(proof(@2784 @2744) proof(@2822 @2850)) @2933) + proof(proof(proof(proof(@2836 @2700) @2850) @2845) @2872)) +@2953 := proof(proof(@2839 @2933) proof(@2903 @2886)) +@2954 := proof(@2908 @2824) +@2960 := proof(@2937 proof(proof(@2941 proof(@2950 proof(@2953 proof(@2954 @2709)))) @2881)) +@2961 := proof(@2839 @2919) +@2962 := proof(@2751 @2915) +@2966 := proof(@2961 proof(proof(@2574 proof(@2962 @2709)) @2889)) +@2968 := proof(proof(@2892 @2915) @2827) +@2971 := proof(@2960 proof(@2966 proof(@2968 @2709))) +@2972 := proof(@2929 @2971) +@2973 := proof(@504 @2667) +@2975 := proof(@350 proof(@2973 @2922)) +@2976 := proof(@121 @314) +@2977 := proof(@2976 @2667) +@2978 := proof(@2975 @2977) +@2980 := proof(@2925 proof(@2972 @2978)) +@2981 := proof(@2839 @2805) +@2982 := proof(@2751 @2766) +@2983 := proof(@2982 @2709) +@2986 := proof(@2981 proof(proof(@2574 @2983) @2922)) +@2988 := proof(proof(@2892 @2766) @2802) +@2990 := proof(@2986 proof(@2988 @2709)) +@2993 := proof(@2808 proof(@2913 proof(@2980 @2990))) +@2994 := proof(@2839 @2772) +@2995 := proof(@2738 @2983) +@2996 := proof(@2751 @2769) +@2999 := proof(@2994 proof(@2995 proof(@2996 @2709))) +@3000 := proof(Lean.Omega.LinearCombo.sub_eval) +@3002 := proof(proof(@3000 @2766) @2769) +@3004 := proof(@2999 proof(@3002 @2709)) +@3011 := proof(@2660 + proof(fun (h₁ : @2650) => + proof(@2710 proof(@2717 proof(@2726 proof(@2783 proof(@2993 @3004))))))) +@3012 := proof(@2738 @2746) +@3014 := proof(proof(@2574 @2742) @2667) +@3015 := proof(@3012 @3014) +@3063 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (x : @3) => + proof(fun (xs : @265) => + proof(fun (z : @314) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#568462251._hygCtx._hyg.#74 : @2631) => + proof(@3011 + proof(fun (h₂ : @2653) => + proof(@2710 + proof(@2717 + proof(@2726 + proof(proof(proof(proof(proof(@2729 @3015) @2772) @552) + proof(proof(proof(@2775 @2746) @3014) + proof(proof(proof(@2778 @2742) @2746) @28))) + proof(proof(proof(proof(proof(@2784 @3015) + proof(proof(@2738 @2919) @2805)) + @2772) + proof(proof(proof(proof(proof(proof(@2809 @2746) @2919) + @3014) + @2805) + @2971) + proof(proof(proof(proof(proof(@2784 @3014) + proof(proof(@2574 @2799) @2922)) + @2805) + proof(proof(proof(proof(proof(proof(@2834 @2742) + @2799) + @2667) + @2922) + @2912) + @2978)) + @2990))) + @3004))))))))))))) +@3064 := @237 @12 +@3065 := @3064 @314 +@3072 := @504 (@3065 (fun (a : @314) => fun (x : @19) => @2639 @2515) @3 @28) +@3073 := @2610 @12 +@3074 := @3073 @13 +@3075 := @3074 @28 +@3081 := {α : @197} -> (k : @2532) -> (z : @314) -> (xs : @265) -> @3072 (@2639 @3075) +@3082 := proof(List.rec.{0, 0}) +@3083 := proof(@3082 @12) +@3084 := @237 @66 +@3085 := proof(@3084 @314) +@3086 := proof(@39 @28) +@3093 := proof(@504 + proof(proof(proof(@3085 proof(fun (a : @314) => proof(fun (x : @39) => proof(@2639 @3086)))) + @28) + @3)) +@3094 := proof(@2643 @3) +@3099 := proof(@3083 proof(fun (xs : @235) => proof((z : @314) -> proof(@3093 proof(@2621 @3094))))) +@3100 := @504 @28 +@3101 := proof(@2612 @2552) +@3102 := proof(@2621 @3101) +@3103 := proof(@3100 @3102) +@3104 := proof(@401 @3103) +@3105 := proof(@406 @3103) +@3106 := proof(@3100 @28) +@3108 := proof(proof(@3105 @3106) @410) +@3109 := proof(@496 @315) +@3116 := proof(@3108 + proof(proof(proof(proof(@3109 @3102) @28) @3100) proof(proof(Int.add_zero) @28))) +@3117 := proof(@449 @314) +@3118 := proof(@3117 @28) +@3122 := proof(@3099 proof(fun (z : @314) => proof(@3104 proof(@3116 @3118)))) +@3123 := proof(@237 @39) +@3124 := proof(@3123 @314) +@3125 := proof(@81 @28) +@3132 := proof(@504 + proof(proof(proof(@3124 proof(fun (a : @314) => proof(fun (x : @81) => proof(@2639 @3125)))) + @28) + @3)) +@3133 := proof(@2703 @3) +@3136 := proof((z : @314) -> proof(@3132 proof(@2621 @3133))) +@3137 := @237 @81 +@3138 := proof(@3137 @314) +@3139 := proof(@48 @28) +@3142 := proof(fun (a : @314) => proof(fun (x : @48) => proof(@2639 @3139))) +@3144 := proof(proof(@3138 @3142) @28) +@3145 := proof(@2501 @81) +@3147 := proof(proof(@3145 @12) @13) +@3149 := proof(@504 proof(@3144 @3147)) +@3150 := proof(@2610 @81) +@3151 := proof(@3150 @39) +@3152 := proof(@3151 @3147) +@3155 := proof(@350 proof(@3149 proof(@2621 @3152))) +@3156 := proof(Eq.mpr.{0}) +@3158 := proof(proof(@244 @314) @81) +@3159 := proof(@3158 @3142) +@3160 := proof(@39 @12) +@3161 := proof(@2621 @3160) +@3163 := proof(proof(@3159 @3161) @13) +@3164 := proof(@504 @3163) +@3165 := proof(@2574 @3160) +@3166 := proof(@3151 @13) +@3167 := proof(@3165 @3166) +@3168 := proof(@2621 @3167) +@3169 := proof(@3164 @3168) +@3170 := proof(@3156 @3169) +@3172 := proof(proof(@2574 @3161) @3166) +@3174 := proof(proof(@504 @3172) @3168) +@3175 := proof(@3170 @3174) +@3178 := proof(@350 proof(proof(@316 @3169) @3174)) +@3180 := proof(proof(@3109 @3163) @3172) +@3181 := proof(@81 @19) +@3182 := proof(@2574 @3181) +@3184 := proof(proof(@2610 @48) @81) +@3186 := proof(@3182 proof(@3184 @12)) +@3194 := proof(@3175 + proof(@3178 + proof(proof(@3180 proof(fun (_a : @314) => proof(@3100 proof(@2639 @3186)))) + proof(@3 @3161)))) +@3195 := proof(Decidable.byContradiction) +@3196 := proof(@3195 @3174) +@3197 := Int.instDecidableEq +@3223 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (z : @314) => + proof(fun (xs : @265) => + proof(proof(proof(@3122 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @3136) => + proof(fun (z : @314) => + proof(@3155 + proof(@3194 + proof(proof(@3196 proof(proof(@3197 @3172) @3168)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#568462251._hygCtx._hyg.#74 : proof(@547 + @3174)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_add_int._proof_1_5) + @48) + @81) + @19) + @12) + @3) + @28)))))))))) + @28) + @3))))) +@3224 := @234 @314 +@3226 := @237 @314 @314 +@3233 := @504 (@3226 (fun (a : @314) => fun (x : @314) => @2639 @28) @3 @28) +@3234 := @2610 @314 +@3235 := fun (x : @314) => @28 +@3237 := @3234 @3235 @28 +@3241 := (z : @314) -> (xs : @3224) -> @3233 (@2639 @3237) +@3248 := proof(fun (z : @314) => + proof(fun (xs : @3224) => + proof(proof(proof(proof(proof(LexLeanLaws.listFold_add_int) @314) @3235) @3) @28))) +@3249 := (a._@._internal._hyg.#0 : @28) -> @43 +@3250 := fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @265) => @43 +@3252 := @2534 @3250 @28 +@3256 := {α : @197} -> + (k : @3249) -> + (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @264) -> (f : @3252) -> @43 +@3258 := proof(@2544 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @2500) => @43)) +@3267 := proof(proof(proof(@2543 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @235) => + proof((x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : proof(@3258 @28)) -> + @43))) + @3) + proof(fun ("_" : @216) => + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : proof(@3258 @2552)) => + @2818))) +@3268 := proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @2522) => @43) +@3269 := proof(@2562 @3268) +@3270 := proof(@3269 @2504) +@3277 := @2566 @43 @43 @43 (@2570 @43 instAddNat) +@3278 := proof(@3277 @2575) +@3284 := proof(proof(@3267 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : @3270) => + proof(@3278 @2577))))) + @28) +@3288 := fun {α : @197} => + fun (k : @3249) => + fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @264) => fun (f : @3252) => @3284 +@3291 := {α : @197} -> (k : @3249) -> (a._@._internal._hyg.#0 : @264) -> @43 +@3293 := @2592 @3250 @28 +@3294 := proof(LexLeanLaws.sumNat._f) +@3296 := proof(proof(@3294 @13) @3) +@3300 := fun {α : @197} => + fun (k : @3249) => + fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @264) => @3293 @3296 +@3303 := @2602 + (fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @265) => + @43) + @28 +@3304 := fun ("_" : @216) => @2818 +@3305 := @3303 @3304 +@3306 := @3277 @2608 +@3307 := LexLeanLaws.sumNat +@3308 := @3307 @19 +@3309 := @3308 @12 +@3310 := @3309 @28 +@3311 := @3306 @3310 +@3314 := @3305 (fun (x : @13) => fun (xs : @235) => @3311) +@3317 := fun {α : @197} => + fun (k : @3249) => fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @264) => @3314 +@3318 := @3277 @28 +@3320 := @3277 (@3318 @14) +@3321 := @3309 @3 +@3323 := @44 (@3320 @3321) +@3324 := @3277 @14 +@3328 := @547 (@3323 (@3318 (@3324 @3321))) +@3334 := {α : @197} -> + (k : @3249) -> + (x : @3) -> + (xs : @265) -> + (z : @43) -> (a._@._internal.#0.LexLeanRuntime.Laws.#3199501801._hygCtx._hyg.#74 : @3328) -> @324 +@3335 := @3277 @3 +@3337 := proof(@3277 proof(@3335 @20)) +@3338 := proof(@3307 @66) +@3339 := proof(@3338 @19) +@3340 := proof(@3339 @13) +@3341 := proof(@3337 @3340) +@3342 := proof(@1433 @3341) +@3343 := proof(@3277 @20) +@3345 := proof(@3335 proof(@3343 @3340)) +@3346 := proof(@3342 @3345) +@3347 := proof(@2638 @3346) +@3350 := proof(proof(proof(GT.gt.{0}) @43) @1432) +@3352 := proof(proof(@3350 @3341) @3345) +@3354 := proof(proof(@3347 @3352) @324) +@3355 := proof(Nat.lt_or_gt_of_ne) +@3359 := proof(@3354 proof(proof(proof(@3355 @3341) @3345) @28)) +@3363 := Nat.cast.{0} @314 instNatCastInt +@3364 := proof(@3363 @13) +@3365 := proof(@2691 @3364) +@3366 := proof(@3363 @2700) +@3367 := proof(@2691 @3366) +@3368 := proof(@3307 @39) +@3369 := proof(@3368 @66) +@3370 := proof(@3369 @12) +@3371 := proof(@3363 @3370) +@3373 := proof(proof(@2691 @3371) @2693) +@3374 := proof(@3367 @3373) +@3376 := proof(@2698 proof(@3365 @3374)) +@3377 := proof(@2697 @3376) +@3378 := proof(@2716 @3376) +@3379 := proof(@2725 @3376) +@3380 := proof(@3277 @13) +@3381 := proof(@3277 @2700) +@3382 := proof(@3381 @3370) +@3383 := proof(@3380 @3382) +@3384 := proof(@3363 @3383) +@3385 := proof(@2738 @3384) +@3386 := proof(@3380 @2700) +@3388 := proof(proof(@3277 @3386) @3370) +@3389 := proof(@3363 @3388) +@3391 := proof(proof(@2574 @3389) @2667) +@3392 := proof(@3385 @3391) +@3393 := proof(@2729 @3392) +@3394 := proof(@2771 @3376) +@3396 := proof(proof(@3393 @3394) @552) +@3398 := proof(proof(@2775 @3384) @3391) +@3400 := proof(proof(@2778 @3389) @3384) +@3401 := proof(Lean.Omega.Int.ofNat_lt_of_lt) +@3407 := proof(@3396 proof(@3398 proof(@3400 proof(proof(proof(@3401 @3388) @3383) @28)))) +@3408 := proof(@2784 @3392) +@3409 := proof(@2798 @3376) +@3410 := proof(@2738 @3409) +@3411 := proof(@2804 @3376) +@3414 := proof(proof(@3408 proof(@3410 @3411)) @3394) +@3418 := proof(proof(proof(proof(@2809 @3384) @3409) @3391) @3411) +@3419 := proof(@2784 @3384) +@3420 := proof(@2574 @3364) +@3421 := proof(@3363 @3382) +@3422 := proof(@3420 @3421) +@3424 := proof(proof(@3419 @3422) @3409) +@3425 := proof(Int.natCast_add) +@3426 := proof(@3425 @13) +@3428 := proof(@3424 proof(@3426 @3382)) +@3429 := proof(@2784 @3422) +@3430 := proof(@2820 @3376) +@3431 := proof(@2574 @3430) +@3432 := proof(@2829 @3376) +@3435 := proof(proof(@3429 proof(@3431 @3432)) @3409) +@3437 := proof(proof(@2834 @3364) @3430) +@3439 := proof(proof(@3437 @3421) @3432) +@3444 := proof(proof(proof(@2839 @3430) @3364) proof(proof(@2842 @3364) @3374)) +@3445 := proof(@3439 @3444) +@3446 := proof(@2784 @3421) +@3447 := proof(@2574 @3366) +@3448 := proof(@3447 @3371) +@3450 := proof(proof(@3446 @3448) @3432) +@3451 := proof(@3425 @2700) +@3453 := proof(@3450 proof(@3451 @3370)) +@3454 := proof(@2784 @3448) +@3455 := proof(@2849 @3376) +@3456 := proof(@2574 @3455) +@3457 := proof(@2857 @3376) +@3460 := proof(proof(@3454 proof(@3456 @3457)) @3432) +@3461 := proof(@2834 @3366) +@3464 := proof(proof(proof(@3461 @3455) @3371) @3457) +@3470 := proof(proof(proof(@2839 @3455) @3366) proof(proof(proof(@2868 @3364) @3366) @3373)) +@3471 := proof(@3464 @3470) +@3478 := proof(proof(proof(@2839 @3457) @3371) + proof(proof(proof(proof(@2876 @3364) @3366) @3371) @2693)) +@3480 := proof(@3460 proof(@3471 @3478)) +@3481 := proof(@2839 @3432) +@3482 := proof(@2885 @3376) +@3483 := proof(@2574 @3482) +@3484 := proof(@2888 @3376) +@3492 := proof(@3435 + proof(@3445 + proof(@3453 proof(@3480 proof(proof(@3481 proof(@3483 @3484)) proof(@2894 @3376)))))) +@3493 := proof(@2839 @3409) +@3495 := proof(@2574 proof(@2901 @3376)) +@3502 := proof(@3428 + proof(@3492 proof(proof(@3493 proof(@3495 proof(@2904 @3376))) proof(@2909 @3376)))) +@3503 := proof(@3418 @3502) +@3504 := proof(@2784 @3391) +@3505 := proof(@2918 @3376) +@3506 := proof(@2574 @3505) +@3507 := proof(@2921 @3376) +@3510 := proof(proof(@3504 proof(@3506 @3507)) @3411) +@3514 := proof(proof(proof(proof(@2834 @3389) @3505) @2667) @3507) +@3515 := proof(@2784 @3389) +@3516 := proof(@3363 @3386) +@3518 := proof(proof(@2574 @3516) @3371) +@3523 := proof(proof(proof(@3515 @3518) @3505) proof(proof(@3425 @3386) @3370)) +@3524 := proof(@2784 @3518) +@3525 := proof(@2932 @3376) +@3529 := proof(proof(@3524 proof(proof(@2574 @3525) @3457)) @3505) +@3533 := proof(proof(proof(proof(@2834 @3516) @3525) @3371) @3457) +@3534 := proof(@2784 @3516) +@3535 := proof(@3420 @3366) +@3567 := proof(@3523 + proof(proof(@3529 + proof(proof(@3533 + proof(proof(proof(proof(@3534 @3535) @3525) proof(@3426 @2700)) + proof(proof(proof(proof(proof(@2784 @3535) proof(@3431 @3455)) @3525) + proof(proof(proof(proof(@3437 @3366) @3455) @3444) @3470)) + proof(proof(proof(@2839 @3525) proof(@3495 @3482)) proof(@2954 @3376))))) + @3478)) + proof(proof(proof(@2839 @3505) proof(proof(@2574 proof(@2962 @3376)) @3484)) + proof(@2968 @3376)))) +@3568 := proof(@3514 @3567) +@3571 := proof(proof(@350 proof(@2973 @3507)) @2977) +@3573 := proof(@3510 proof(@3568 @3571)) +@3574 := proof(@2839 @3411) +@3575 := proof(@2982 @3376) +@3580 := proof(proof(@3574 proof(proof(@2574 @3575) @3507)) proof(@2988 @3376)) +@3583 := proof(@3414 proof(@3503 proof(@3573 @3580))) +@3590 := proof(proof(proof(@2839 @3394) proof(proof(@2738 @3575) proof(@2996 @3376))) + proof(@3002 @3376)) +@3597 := proof(@3359 + proof(fun (h₁ : @3346) => + proof(@3377 proof(@3378 proof(@3379 proof(@3407 proof(@3583 @3590))))))) +@3598 := proof(@2738 @3389) +@3600 := proof(proof(@2574 @3384) @2667) +@3601 := proof(@3598 @3600) +@3652 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (x : @3) => + proof(fun (xs : @265) => + proof(fun (z : @43) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3199501801._hygCtx._hyg.#74 : @3328) => + proof(@3597 + proof(fun (h₂ : @3352) => + proof(@3377 + proof(@3378 + proof(@3379 + proof(proof(proof(proof(proof(@2729 @3601) @3394) @552) + proof(proof(proof(@2775 @3389) @3600) + proof(proof(proof(@2778 @3384) @3389) + proof(proof(proof(@3401 @3383) @3388) @28)))) + proof(proof(proof(proof(proof(@2784 @3601) + proof(proof(@2738 @3505) @3411)) + @3394) + proof(proof(proof(proof(proof(proof(@2809 @3389) @3505) + @3600) + @3411) + @3567) + proof(proof(proof(proof(proof(@2784 @3600) + proof(proof(@2574 @3409) @3507)) + @3411) + proof(proof(proof(proof(proof(proof(@2834 @3384) + @3409) + @2667) + @3507) + @3502) + @3571)) + @3580))) + @3590))))))))))))) +@3660 := @44 (@3064 @43 (fun (a : @43) => fun (x : @19) => @3335 @2515) @3 @28) +@3661 := @3307 @12 +@3662 := @3661 @13 +@3663 := @3662 @28 +@3669 := {α : @197} -> (k : @3249) -> (z : @43) -> (xs : @265) -> @3660 (@3335 @3663) +@3677 := proof(@44 + proof(proof(proof(proof(@3084 @43) + proof(fun (a : @43) => proof(fun (x : @39) => proof(@3335 @3086)))) + @28) + @3)) +@3678 := proof(@3339 @3) +@3683 := proof(@3083 proof(fun (xs : @235) => proof((z : @43) -> proof(@3677 proof(@3318 @3678))))) +@3684 := proof(@44 @28) +@3686 := proof(@401 proof(@3684 @28)) +@3687 := proof(@449 @43) +@3691 := proof(@3683 proof(fun (z : @43) => proof(@3686 proof(@3687 @28)))) +@3699 := proof(@44 + proof(proof(proof(proof(@3123 @43) + proof(fun (a : @43) => proof(fun (x : @81) => proof(@3335 @3125)))) + @28) + @3)) +@3700 := proof(@3369 @3) +@3703 := proof((z : @43) -> proof(@3699 proof(@3318 @3700))) +@3704 := proof(@3137 @43) +@3707 := proof(fun (a : @43) => proof(fun (x : @48) => proof(@3335 @3139))) +@3711 := proof(@44 proof(proof(proof(@3704 @3707) @28) @3147)) +@3712 := proof(@3307 @81) +@3713 := proof(@3712 @39) +@3717 := proof(@350 proof(@3711 proof(@3318 proof(@3713 @3147)))) +@3720 := proof(proof(proof(@244 @43) @81) @3707) +@3721 := proof(@3318 @3160) +@3723 := proof(proof(@3720 @3721) @13) +@3724 := proof(@44 @3723) +@3725 := proof(@3277 @3160) +@3726 := proof(@3713 @13) +@3727 := proof(@3725 @3726) +@3728 := proof(@3318 @3727) +@3729 := proof(@3724 @3728) +@3730 := proof(@3156 @3729) +@3732 := proof(proof(@3277 @3721) @3726) +@3734 := proof(proof(@44 @3732) @3728) +@3735 := proof(@3730 @3734) +@3738 := proof(@350 proof(proof(@316 @3729) @3734)) +@3739 := proof(@1567 @315) +@3741 := proof(proof(@3739 @3723) @3732) +@3742 := proof(@3277 @3181) +@3744 := proof(proof(@3307 @48) @81) +@3754 := proof(@3735 + proof(@3738 + proof(proof(@3741 + proof(fun (_a : @43) => proof(@3684 proof(@3335 proof(@3742 proof(@3744 @12)))))) + proof(@3 @3721)))) +@3755 := proof(@3195 @3734) +@3756 := instDecidableEqNat +@3782 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (z : @43) => + proof(fun (xs : @265) => + proof(proof(proof(@3691 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @3703) => + proof(fun (z : @43) => + proof(@3717 + proof(@3754 + proof(proof(@3755 proof(proof(@3756 @3732) @3728)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3199501801._hygCtx._hyg.#74 : proof(@547 + @3734)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_add_nat._proof_1_5) + @48) + @81) + @19) + @12) + @3) + @28)))))))))) + @28) + @3))))) +@3783 := @234 @43 +@3792 := @44 (@237 @43 @43 (fun (a : @43) => fun (x : @43) => @3335 @28) @3 @28) +@3793 := @3307 @43 +@3794 := fun (x : @43) => @28 +@3796 := @3793 @3794 @28 +@3800 := (z : @43) -> (xs : @3783) -> @3792 (@3335 @3796) +@3807 := proof(fun (z : @43) => + proof(fun (xs : @3783) => + proof(proof(proof(proof(proof(LexLeanLaws.listFold_add_nat) @43) @3794) @3) @28))) +@3808 := @42 @19 +@3810 := @3084 @19 @12 +@3811 := @3810 @13 +@3818 := @275 @2522 @2522 @2522 (@279 @2522 (@281 @66)) +@3832 := {α : @197} -> + {σ : @197} -> + (f : @233) -> + (z : @3) -> (xs : @235) -> (ys : @2500) -> @3808 (@3811 (@3818 @3 @28)) (@3810 (@3811 @3) @28) +@3845 := proof(fun {α : @197} => + proof(fun {σ : @197} => + proof(fun (f : @233) => + proof(fun (z : @3) => + proof(fun (xs : @235) => + proof(fun (ys : @2500) => + proof(proof(proof(proof(proof(proof(proof(List.foldl_append.{0, 0}) @66) @19) @12) + @13) + @3) + @28))))))) +@3846 := @3811 @2504 +@3857 := {α : @197} -> + {σ : @197} -> + (f : @233) -> (z : @3) -> (x : @12) -> (xs : @2500) -> @3808 @3846 (@3810 (@14 @3) @28) +@3865 := proof(fun {α : @197} => + proof(fun {σ : @197} => + proof(fun (f : @233) => + proof(fun (z : @3) => + proof(fun (x : @12) => proof(fun (xs : @2500) => proof(proof(@291 @19) @3846))))))) +@3867 := @237 @13 @265 +@3874 := @275 @2500 @2500 @2500 (@279 @2500 (@281 @19)) +@3875 := @3874 @3 +@3876 := @2501 @19 +@3877 := @3876 @28 +@3889 := {α : @197} -> + (z : @263) -> + (xs : @264) -> @266 (@3867 (fun (a : @265) => fun (x : @12) => @3875 (@3877 @2552)) @3 @28) @286 +@3890 := proof(@3082 @13) +@3891 := proof(@42 @2500) +@3892 := proof(@238 @2500) +@3893 := @234 @39 +@3900 := proof(proof(proof(proof(@275 @3893) @3893) @3893) proof(proof(@279 @3893) proof(@281 @39))) +@3901 := proof(@3900 @3) +@3902 := @2501 @39 +@3903 := proof(@3902 @28) +@3904 := proof(@2496 @39) +@3912 := proof(@3891 + proof(proof(proof(@3892 + proof(fun (a : @2500) => proof(fun (x : @66) => proof(@3901 proof(@3903 @3904))))) + @28) + @3)) +@3914 := proof(proof(@3874 @28) @3) +@3918 := proof(@3890 proof(fun (xs : @265) => proof((z : @235) -> proof(@3912 @3914)))) +@3920 := proof(proof(@42 @235) @28) +@3927 := @275 @235 @235 @235 (@279 @235 (@281 @12)) +@3929 := proof(proof(@3927 @28) @2497) +@3930 := proof(@3920 @3929) +@3951 := proof(@3918 + proof(fun (z : @265) => + proof(proof(@401 @3930) + proof(proof(proof(proof(proof(@406 @3930) proof(@3920 @28)) @410) + proof(proof(proof(proof(proof(proof(@412 @235) @315) @3929) @28) @3920) + proof(proof(proof(List.append_nil.{0}) @12) @28))) + proof(proof(@449 @235) @28))))) +@3952 := proof(@42 @2522) +@3953 := proof(@3084 @2522) +@3954 := proof(@234 @81) +@3961 := proof(proof(proof(proof(@275 @3954) @3954) @3954) proof(proof(@279 @3954) proof(@281 @81))) +@3962 := proof(@3961 @3) +@3963 := proof(@3145 @28) +@3964 := proof(@2496 @81) +@3972 := proof(@3952 + proof(proof(proof(@3953 + proof(fun (a : @2522) => proof(fun (x : @39) => proof(@3962 proof(@3963 @3964))))) + @28) + @3)) +@3973 := proof(@3818 @28) +@3976 := proof((z : @2500) -> proof(@3972 proof(@3973 @3))) +@3977 := proof(@42 @3893) +@3978 := proof(@3123 @3893) +@3979 := proof(@234 @48) +@3987 := proof(proof(proof(proof(proof(@275 @3979) @3979) @3979) + proof(proof(@279 @3979) proof(@281 @48))) + @3) +@3989 := proof(proof(@2501 @48) @28) +@3994 := proof(fun (a : @3893) => + proof(fun (x : @81) => proof(@3987 proof(@3989 proof(@2496 @48))))) +@3996 := proof(proof(@3978 @3994) @28) +@3997 := proof(@3902 @12) +@3998 := proof(@3997 @13) +@4000 := proof(@3977 proof(@3996 @3998)) +@4001 := proof(@3900 @28) +@4002 := proof(@4001 @3998) +@4004 := proof(@350 proof(@4000 @4002)) +@4006 := proof(proof(@244 @3893) @39) +@4007 := proof(@4006 @3994) +@4008 := proof(@3997 @3904) +@4009 := proof(@4001 @4008) +@4011 := proof(proof(@4007 @4009) @13) +@4013 := proof(proof(@3977 @4011) @4002) +@4014 := proof(@3156 @4013) +@4016 := proof(proof(@3900 @4009) @13) +@4017 := proof(@3977 @4016) +@4018 := proof(@4017 @4002) +@4019 := proof(@4014 @4018) +@4022 := proof(@350 proof(proof(@316 @4013) @4018)) +@4023 := proof(@412 @3893) +@4024 := proof(@4023 @315) +@4026 := proof(proof(@4024 @4011) @4016) +@4028 := proof(proof(@42 @3954) @28) +@4029 := proof(@3145 @19) +@4038 := proof(@4019 + proof(@4022 + proof(proof(@4026 proof(fun (_a : @3893) => proof(@4028 proof(@3962 proof(@4029 @12))))) + proof(@3 @4009)))) +@4039 := proof(@401 @4018) +@4040 := proof(@406 @4018) +@4041 := proof(@3977 @4002) +@4044 := proof(proof(@4040 proof(@4041 @4002)) @410) +@4045 := proof(@491 @3893) +@4048 := proof(proof(proof(@4045 @315) @4017) @4041) +@4053 := proof(proof(proof(proof(@4023 proof((a._@._internal._hyg.#0 : @3893) -> @315)) @4016) + @4002) + @3977) +@4055 := proof(proof(List.append_assoc.{0}) @39) +@4078 := proof(fun {α : @197} => + proof(fun (z : @263) => + proof(fun (xs : @264) => + proof(proof(proof(@3951 + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (ih : @3976) => + proof(fun (z : @2522) => + proof(@4004 + proof(@4038 + proof(@4039 + proof(proof(@4044 + proof(proof(@4048 + proof(@4053 + proof(proof(proof(@4055 @28) @4008) @13))) + @4002)) + proof(proof(@449 @3893) @4002)))))))))) + @28) + @3)))) +@4079 := (a._@._internal._hyg.#0 : @12) -> @12 +@4080 := (a._@._internal._hyg.#0 : @3) -> @4079 +@4082 := (a._@._internal._hyg.#0 : @3) -> (a._@._internal._hyg.#0 : @19) -> @12 +@4086 := @42 @81 (@19 (@40 @28)) +@4087 := @19 @3 +@4092 := (a : @39) -> (x : @48) -> @4086 (@66 @4087 @28) +@4093 := @42 @39 +@4094 := @237 @48 +@4114 := {α : @197} -> + {σ : @197} -> + {τ : @197} -> + (f : @4080) -> + (g : @4082) -> + (h : @4079) -> + (z : @19) -> + (xs : @3893) -> (step : @4092) -> @4093 (@12 (@4094 @81 @66 @13 @3)) (@4094 @39 @19 @14 @3) +@4115 := proof(@3082 @48) +@4116 := proof(@42 @48) +@4117 := proof(#10) +@4118 := proof(@237 @4117) +@4120 := proof(proof(@4118 @76) @81) +@4124 := proof(@4116 proof(@66 proof(proof(@4120 @28) @3))) +@4126 := proof(proof(@4118 @48) @39) +@4127 := proof(@66 @28) +@4133 := proof(@4115 + proof(fun (xs : @3979) => proof((z : @48) -> proof(@4124 proof(proof(@4126 @4127) @3))))) +@4134 := proof(@121 @81) +@4135 := proof(@237 @76) +@4138 := proof(proof(proof(@4135 @48) @39) @28) +@4139 := proof(@2496 @76) +@4144 := proof(@4133 proof(fun (z : @81) => proof(@4134 proof(@19 proof(@4138 @4139))))) +@4145 := proof(@234 @76) +@4146 := proof(@42 @76) +@4147 := proof(#11) +@4148 := proof(@237 @4147) +@4150 := proof(proof(@4148 @4117) @48) +@4154 := proof(@4146 proof(@39 proof(proof(@4150 @28) @3))) +@4156 := proof(proof(@4148 @76) @81) +@4160 := proof((z : @76) -> proof(@4154 proof(proof(@4156 @3086) @3))) +@4161 := proof(@42 @4117) +@4162 := proof(#12) +@4163 := proof(@237 @4162) +@4165 := proof(proof(@4163 @4147) @76) +@4166 := proof(@4165 @28) +@4167 := proof(@2501 @4162) +@4169 := proof(proof(@4167 @12) @13) +@4172 := proof(@4161 proof(@81 proof(@4166 @4169))) +@4174 := proof(proof(@4163 @4117) @48) +@4178 := proof(@350 proof(@4172 proof(proof(@4174 @3125) @4169))) +@4179 := proof(@244 @4147) +@4181 := proof(proof(@4179 @4162) @76) +@4183 := proof(proof(@76 @28) @12) +@4186 := proof(@81 proof(proof(@4181 @4183) @13)) +@4187 := proof(@4161 @4186) +@4190 := proof(proof(proof(@244 @4117) @4162) @48) +@4192 := proof(proof(@48 @3125) @12) +@4194 := proof(proof(@4190 @4192) @13) +@4195 := proof(@4187 @4194) +@4196 := proof(@3156 @4195) +@4197 := proof(@81 @4183) +@4199 := proof(proof(@4190 @4197) @13) +@4201 := proof(proof(@4161 @4199) @4194) +@4202 := proof(@4196 @4201) +@4205 := proof(@350 proof(proof(@316 @4195) @4201)) +@4207 := proof(proof(@412 @4117) @315) +@4209 := proof(proof(@4207 @4186) @4199) +@4210 := proof(@42 @4147) +@4211 := proof(@4210 @28) +@4212 := proof(#13) +@4214 := proof(proof(@4179 @4212) @76) +@4215 := proof(@48 @3) +@4219 := proof(proof(@4214 proof(proof(@76 @4215) @19)) @12) +@4226 := proof(@4202 + proof(@4205 + proof(proof(@4209 proof(fun (_a : @4117) => proof(@4211 @4219))) proof(@3 @4183)))) +@4227 := proof(@3156 @4201) +@4229 := proof(proof(@4161 @4194) @4194) +@4266 := proof(fun {α : @197} => + proof(fun {σ : @197} => + proof(fun {τ : @197} => + proof(fun (f : @4080) => + proof(fun (g : @4082) => + proof(fun (h : @4079) => + proof(fun (z : @19) => + proof(fun (xs : @3893) => + proof(fun (step : @4092) => + proof(proof(proof(@4144 + proof(fun (x : @48) => + proof(fun (xs : @4145) => + proof(fun (ih : @4160) => + proof(fun (z : @4117) => + proof(@4178 + proof(@4226 + proof(proof(proof(@4227 @4229) + proof(proof(@350 proof(proof(@316 @4201) @4229)) + proof(proof(proof(proof(@4207 @4197) @4192) + proof(fun (_a : @4117) => + proof(proof(@4210 + proof(proof(@4214 @28) @12)) + @4219))) + proof(@2515 @12)))) + proof(proof(@121 @4117) @4194))))))))) + @3) + @13)))))))))) +@4267 := @42 @13 +@4271 := @3064 @13 @3 @28 @2497 +@4277 := {α : @197} -> {σ : @197} -> (f : @233) -> (z : @3) -> @4267 @4271 @28 +@4283 := proof(fun {α : @197} => + proof(fun {σ : @197} => + proof(fun (f : @233) => proof(fun (z : @3) => proof(proof(@291 @13) @4271))))) +@4284 := Prod.{0, 0} +@4286 := @4284 @39 @66 +@4287 := @42 @4286 +@4288 := @3137 @4286 +@4289 := Prod.mk.{0, 0} +@4291 := @4289 @48 @81 +@4292 := Prod.fst.{0, 0} +@4298 := @4291 (@39 (@4292 @48 @81 @3) @28) +@4299 := Prod.snd.{0, 0} +@4308 := @4288 (fun (p : @4286) => fun (x : @48) => @4298 (@66 (@4299 @48 @81 @3) @28)) +@4310 := @4289 @39 @66 +@4334 := {α : @197} -> + {σ : @197} -> + {τ : @197} -> + (f : @4080) -> + (g : @4082) -> + (z : @12) -> + (w : @12) -> + (xs : @3893) -> + @4287 (@4308 (@4310 @13 @3) @28) (@4310 (@3137 @39 @19 @13 @28) (@3137 @66 @12 @3 @28)) +@4335 := proof(@3082 @81) +@4337 := proof(proof(@4284 @76) @48) +@4338 := proof(@42 @4337) +@4339 := proof(@4118 @4337) +@4341 := proof(proof(@4289 @4147) @4117) +@4356 := proof(@4339 + proof(fun (p : @4337) => + proof(fun (x : @4147) => + proof(proof(@4341 proof(proof(@76 proof(proof(proof(@4292 @4147) @4117) @3)) @28)) + proof(proof(@48 proof(proof(proof(@4299 @4147) @4117) @3)) @28))))) +@4358 := proof(proof(@4289 @76) @48) +@4374 := proof(@4335 + proof(fun (xs : @3954) => + proof((z : @81) -> + proof((w : @81) -> + proof(proof(@4338 proof(proof(@4356 proof(proof(@4358 @3) @28)) @13)) + proof(proof(@4358 proof(proof(@4120 @3) @13)) proof(proof(@4126 @28) @13))))))) +@4376 := proof(proof(@4284 @48) @81) +@4377 := proof(@121 @4376) +@4378 := proof(@4135 @4376) +@4380 := proof(proof(@4289 @4117) @76) +@4403 := proof(@4374 + proof(fun (z : @39) => + proof(fun (w : @39) => + proof(@4377 + proof(proof(proof(@4378 + proof(fun (p : @4376) => + proof(fun (x : @4117) => + proof(proof(@4380 + proof(proof(@48 proof(proof(proof(@4292 @4117) @76) @3)) @28)) + proof(proof(@81 proof(proof(proof(@4299 @4117) @76) @3)) @28))))) + proof(proof(@4291 @3) @28)) + @4139))))) +@4405 := proof(proof(@4284 @4117) @76) +@4406 := proof(@42 @4405) +@4407 := proof(@4148 @4405) +@4409 := proof(proof(@4289 @4162) @4147) +@4438 := proof((z : @48) -> + proof((w : @48) -> + proof(proof(@4406 + proof(proof(proof(@4407 + proof(fun (p : @4405) => + proof(fun (x : @4162) => + proof(proof(@4409 + proof(proof(@4117 proof(proof(proof(@4292 @4162) @4147) @3)) @28)) + proof(proof(@76 proof(proof(proof(@4299 @4162) @4147) @3)) @28))))) + proof(proof(@4380 @3) @28)) + @13)) + proof(proof(@4380 proof(proof(@4150 @3) @13)) proof(proof(@4156 @28) @13))))) +@4440 := proof(proof(@4284 @4147) @4117) +@4441 := proof(@42 @4440) +@4442 := proof(@4163 @4440) +@4458 := proof(fun (p : @4440) => + proof(fun (x : @4212) => + proof(proof(proof(proof(@4289 @4212) @4162) + proof(proof(@4147 proof(proof(proof(@4292 @4212) @4162) @3)) @28)) + proof(proof(@4117 proof(proof(proof(@4299 @4212) @4162) @3)) @28)))) +@4462 := proof(proof(@4442 @4458) proof(proof(@4341 @3) @28)) +@4464 := proof(proof(@4167 @19) @12) +@4474 := proof(@350 + proof(proof(@4441 proof(@4462 @4464)) + proof(proof(@4341 proof(proof(@4165 @3) @4464)) proof(proof(@4174 @28) @4464)))) +@4477 := proof(proof(proof(@244 @4440) @4162) @4458) +@4478 := proof(@76 @3) +@4479 := proof(@4478 @19) +@4480 := proof(@4341 @4479) +@4481 := proof(@3139 @19) +@4484 := proof(proof(@4477 proof(@4480 @4481)) @12) +@4485 := proof(@4441 @4484) +@4491 := proof(proof(@4341 proof(proof(@4181 @4479) @12)) proof(proof(@4190 @4481) @12)) +@4492 := proof(@4485 @4491) +@4493 := proof(@3156 @4492) +@4495 := proof(proof(@4441 @4491) @4491) +@4496 := proof(@4493 @4495) +@4499 := proof(@350 proof(proof(@316 @4492) @4495)) +@4503 := proof(proof(proof(proof(@412 @4440) @315) @4484) @4491) +@4507 := proof(proof(@42 proof(proof(@4284 @4162) @4147)) @28) +@4510 := proof(proof(proof(@244 @4162) @4212) @4117) +@4511 := proof(@4117 @13) +@4548 := proof(fun {α : @197} => + proof(fun {σ : @197} => + proof(fun {τ : @197} => + proof(fun (f : @4080) => + proof(fun (g : @4082) => + proof(fun (z : @12) => + proof(fun (w : @12) => + proof(fun (xs : @3893) => + proof(proof(proof(proof(@4403 + proof(fun (x : @81) => + proof(fun (xs : @3979) => + proof(fun (ih : @4438) => + proof(fun (z : @76) => + proof(fun (w : @76) => + proof(@4474 + proof(proof(@4496 + proof(@4499 + proof(proof(@4503 + proof(fun (_a : @4440) => + proof(@4507 + proof(proof(@4409 + proof(proof(@4510 + proof(@4511 @66)) + @19)) + proof(proof(@4214 + proof(@4478 @66)) + @19))))) + proof(proof(@13 @4479) @4481)))) + proof(proof(@121 @4440) @4491))))))))) + @28) + @13) + @3))))))))) +@4555 := @266 (@3867 (fun (a : @265) => fun (x : @12) => @3877 @3) @3 @28) +@4556 := List.reverse.{0} +@4558 := @4556 @13 @28 +@4564 := {α : @197} -> (z : @263) -> (xs : @264) -> @4555 (@284 @4558 @3) +@4579 := proof(@3890 + proof(fun (xs : @265) => + proof((z : @235) -> + proof(proof(@3891 + proof(proof(proof(@3892 + proof(fun (a : @2500) => proof(fun (x : @66) => proof(@3903 @3)))) + @28) + @3)) + proof(proof(@3874 proof(proof(@4556 @19) @3)) @28))))) +@4580 := proof(@121 @235) +@4591 := proof(@4579 + proof(fun (z : @265) => + proof(@4580 + proof(proof(proof(proof(@3064 @235) + proof(fun (a : @235) => proof(fun (x : @19) => proof(proof(@2502 @28) @3)))) + @28) + @2497)))) +@4604 := proof((z : @2500) -> + proof(proof(@3952 + proof(proof(proof(@3953 proof(fun (a : @2522) => proof(fun (x : @39) => proof(@3963 @3)))) + @28) + @3)) + proof(proof(@3818 proof(proof(@4556 @66) @3)) @28))) +@4607 := proof(fun (a : @3893) => proof(fun (x : @81) => proof(@3989 @3))) +@4611 := proof(@3977 proof(proof(proof(@3978 @4607) @28) @3998)) +@4612 := proof(@4556 @39) +@4613 := proof(@4612 @3998) +@4614 := proof(@3900 @4613) +@4615 := proof(@4614 @28) +@4616 := proof(@4611 @4615) +@4617 := proof(@3156 @4616) +@4618 := proof(@4006 @4607) +@4619 := proof(@3997 @28) +@4621 := proof(proof(@4618 @4619) @13) +@4622 := proof(@3977 @4621) +@4623 := proof(@4612 @13) +@4624 := proof(@3900 @4623) +@4627 := proof(@4624 proof(proof(@3900 @4008) @28)) +@4628 := proof(@4622 @4627) +@4629 := proof(@4617 @4628) +@4632 := proof(@350 proof(proof(@316 @4616) @4628)) +@4635 := proof(proof(proof(@4024 @4615) @4627) @4622) +@4637 := proof(proof(@405 @3893) @4615) +@4638 := proof(@4624 @4008) +@4639 := proof(@3900 @4638) +@4665 := proof(@4629 + proof(@4632 + proof(@4635 + proof(proof(proof(proof(@4637 proof(@4639 @28)) @4627) + proof(proof(proof(proof(proof(@4045 @3893) @4614) @4639) + proof(proof(proof(proof(proof(@4023 + proof((a._@._internal._hyg.#0 : @3893) -> @3954)) + @4613) + @4638) + @3900) + proof(proof(proof(proof(List.reverse_cons.{0}) @39) @12) @13))) + @28)) + proof(proof(proof(@4055 @4623) @4008) @28))))) +@4666 := proof(@3156 @4628) +@4667 := proof(@4624 @4619) +@4669 := proof(proof(@3977 @4667) @4627) +@4703 := proof(fun {α : @197} => + proof(fun (z : @263) => + proof(fun (xs : @264) => + proof(proof(proof(@4591 + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (ih : @4604) => + proof(fun (z : @2522) => + proof(@4665 + proof(proof(proof(@4666 @4669) + proof(proof(@350 proof(proof(@316 @4628) @4669)) + proof(proof(proof(proof(@4024 @4621) @4667) + proof(fun (_a : @3893) => + proof(@4028 + proof(proof(@3961 proof(proof(@4556 @81) @12)) + proof(proof(@3961 proof(@4029 @3964)) @3))))) + proof(@3 @4619)))) + proof(proof(@121 @3893) @4667)))))))) + @28) + @3)))) +@4704 := @2738 @28 +@4711 := @547 (@504 (@2738 (@4704 @14) @2624) (@4704 @2628)) +@4717 := {α : @197} -> + (k : @2532) -> + (x : @3) -> + (xs : @265) -> + (z : @314) -> (a._@._internal.#0.LexLeanRuntime.Laws.#1513660212._hygCtx._hyg.#74 : @4711) -> @324 +@4718 := @2738 @3 +@4721 := proof(proof(@2738 proof(@4718 @20)) @2644) +@4722 := proof(@320 @4721) +@4723 := proof(@4718 @2648) +@4724 := proof(@4722 @4723) +@4725 := proof(@2638 @4724) +@4727 := proof(proof(@320 @4723) @4721) +@4733 := proof(proof(proof(@4725 @4727) @324) proof(proof(proof(@2656 @4721) @4723) @28)) +@4734 := proof(@2738 @13) +@4735 := proof(@4734 @2741) +@4736 := proof(@2738 @4735) +@4737 := proof(@4734 @2700) +@4739 := proof(proof(@2738 @4737) @2704) +@4741 := proof(proof(@2574 @4739) @2667) +@4742 := proof(@4736 @4741) +@4743 := proof(@2729 @4742) +@4744 := proof(@2691 @2723) +@4745 := proof(@4744 @2693) +@4746 := proof(@4744 @4745) +@4747 := proof(@2762 @4746) +@4748 := proof(@2761 @4747) +@4749 := proof(@2759 @4748) +@4750 := proof(@2768 @4747) +@4753 := proof(proof(@2751 proof(@4749 @4750)) @2709) +@4762 := proof(proof(proof(@4743 @4753) @552) + proof(proof(proof(@2775 @4735) @4741) proof(proof(proof(@2778 @4739) @4735) @28))) +@4763 := proof(@2784 @4742) +@4764 := proof(@2759 @2793) +@4767 := proof(proof(@2751 proof(@4764 @2796)) @2709) +@4768 := proof(@2738 @4767) +@4772 := proof(proof(@2751 proof(proof(@2792 @4748) @2802)) @2709) +@4775 := proof(proof(@4763 proof(@4768 @4772)) @4753) +@4779 := proof(proof(proof(proof(@2809 @4735) @4767) @4741) @4772) +@4780 := proof(@2784 @4735) +@4781 := proof(@2738 @2821) +@4784 := proof(proof(@4780 proof(@4781 @2830)) @4767) +@4785 := proof(@2809 @13) +@4786 := proof(@4785 @2821) +@4791 := proof(@4784 proof(proof(proof(proof(@4786 @2741) @2830) @2845) @2897)) +@4792 := proof(@2839 @4767) +@4793 := proof(@2738 @2902) +@4795 := proof(@4792 proof(@4793 @2905)) +@4796 := proof(@3000 @2793) +@4800 := proof(@4791 proof(@4795 proof(proof(@4796 @2796) @2709))) +@4801 := proof(@4779 @4800) +@4802 := proof(@2784 @4741) +@4803 := proof(@2762 @4745) +@4804 := proof(@2761 @4803) +@4808 := proof(proof(@2751 proof(proof(@2759 @4804) @2827)) @2709) +@4812 := proof(proof(@4802 proof(proof(@2574 @4808) @2922)) @4772) +@4816 := proof(proof(proof(proof(@2834 @4739) @4808) @2667) @2922) +@4817 := proof(@2784 @4739) +@4820 := proof(proof(@2751 proof(@4764 @2824)) @2709) +@4858 := proof(proof(proof(proof(@4817 proof(proof(@2738 @4820) @2858)) @4808) + proof(proof(proof(proof(proof(proof(@2809 @4737) @4820) @2704) @2858) + proof(proof(proof(proof(proof(@2784 @4737) proof(@4781 @2850)) @4820) + proof(proof(proof(proof(@4786 @2700) @2850) @2845) @2872)) + proof(proof(proof(@2839 @4820) proof(@4793 @2886)) + proof(proof(@4796 @2824) @2709)))) + @2881)) + proof(proof(proof(@2839 @4808) proof(proof(@2738 proof(proof(@2751 @4804) @2709)) @2889)) + proof(proof(proof(@3000 @4804) @2827) @2709))) +@4861 := proof(@4812 proof(proof(@4816 @4858) @2978)) +@4862 := proof(@2839 @4772) +@4864 := proof(proof(@2751 @4748) @2709) +@4871 := proof(proof(@4862 proof(proof(@2574 @4864) @2922)) + proof(proof(proof(@2892 @4748) @2802) @2709)) +@4874 := proof(@4775 proof(@4801 proof(@4861 @4871))) +@4884 := proof(proof(proof(@2839 @4753) proof(proof(@2738 @4864) proof(proof(@2751 @4750) @2709))) + proof(proof(proof(@3000 @4748) @4750) @2709)) +@4891 := proof(@4733 + proof(fun (h₁ : @4724) => + proof(@2710 proof(@2717 proof(@2726 proof(@4762 proof(@4874 @4884))))))) +@4892 := proof(@2738 @4739) +@4894 := proof(proof(@2574 @4735) @2667) +@4895 := proof(@4892 @4894) +@4943 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (x : @3) => + proof(fun (xs : @265) => + proof(fun (z : @314) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#1513660212._hygCtx._hyg.#74 : @4711) => + proof(@4891 + proof(fun (h₂ : @4727) => + proof(@2710 + proof(@2717 + proof(@2726 + proof(proof(proof(proof(proof(@2729 @4895) @4753) @552) + proof(proof(proof(@2775 @4739) @4894) + proof(proof(proof(@2778 @4735) @4739) @28))) + proof(proof(proof(proof(proof(@2784 @4895) + proof(proof(@2738 @4808) @4772)) + @4753) + proof(proof(proof(proof(proof(proof(@2809 @4739) @4808) + @4894) + @4772) + @4858) + proof(proof(proof(proof(proof(@2784 @4894) + proof(proof(@2574 @4767) @2922)) + @4772) + proof(proof(proof(proof(proof(proof(@2834 @4735) + @4767) + @2667) + @2922) + @4800) + @2978)) + @4871))) + @4884))))))))))))) +@4956 := {α : @197} -> + (k : @2532) -> + (z : @314) -> + (xs : @265) -> @504 (@3065 (fun (a : @314) => fun (x : @19) => @4718 @2515) @3 @28) (@4718 @3075) +@4968 := proof(@3083 + proof(fun (xs : @235) => + proof((z : @314) -> + proof(proof(@504 + proof(proof(proof(@3085 + proof(fun (a : @314) => proof(fun (x : @39) => proof(@4718 @3086)))) + @28) + @3)) + proof(@4704 @3094))))) +@4969 := proof(@4704 @3101) +@4970 := proof(@3100 @4969) +@4985 := proof(@4968 + proof(fun (z : @314) => + proof(proof(@401 @4970) + proof(proof(proof(proof(proof(@406 @4970) @3106) @410) + proof(proof(proof(proof(@3109 @4969) @28) @3100) proof(proof(Int.sub_zero) @28))) + @3118)))) +@4995 := proof((z : @314) -> + proof(proof(@504 + proof(proof(proof(@3124 + proof(fun (a : @314) => proof(fun (x : @81) => proof(@4718 @3125)))) + @28) + @3)) + proof(@4704 @3133))) +@4998 := proof(fun (a : @314) => proof(fun (x : @48) => proof(@4718 @3139))) +@5005 := proof(@350 + proof(proof(@504 proof(proof(proof(@3138 @4998) @28) @3147)) proof(@4704 @3152))) +@5006 := proof(@3158 @4998) +@5007 := proof(@4704 @3160) +@5009 := proof(proof(@5006 @5007) @13) +@5010 := proof(@504 @5009) +@5011 := proof(@4704 @3167) +@5012 := proof(@5010 @5011) +@5013 := proof(@3156 @5012) +@5015 := proof(proof(@2738 @5007) @3166) +@5017 := proof(proof(@504 @5015) @5011) +@5058 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (z : @314) => + proof(fun (xs : @265) => + proof(proof(proof(@4985 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @4995) => + proof(fun (z : @314) => + proof(@5005 + proof(proof(proof(@5013 @5017) + proof(proof(@350 proof(proof(@316 @5012) @5017)) + proof(proof(proof(proof(@3109 @5009) @5015) + proof(fun (_a : @314) => + proof(@3100 proof(@4718 @3186)))) + proof(@3 @5007)))) + proof(proof(proof(@3195 @5017) proof(proof(@3197 @5015) @5011)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#1513660212._hygCtx._hyg.#74 : proof(@547 + @5017)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.listFold_sub_int._proof_1_5) + @48) + @81) + @19) + @12) + @3) + @28)))))))))) + @28) + @3))))) +@5069 := (z : @314) -> + (xs : @3224) -> @504 (@3226 (fun (a : @314) => fun (x : @314) => @4718 @28) @3 @28) (@4718 @3237) +@5076 := proof(fun (z : @314) => + proof(fun (xs : @3224) => + proof(proof(proof(proof(proof(LexLeanLaws.listFold_sub_int) @314) @3235) @3) @28))) +@5079 := @234 (@4284 @3 @28) +@5081 := @4284 @13 @3 +@5082 := @234 @5081 +@5083 := @42 @5082 +@5087 := LexLeanCollections.mapEntries @13 @3 @28 +@5092 := {κ : @197} -> {ν : @197} -> (m : @5079) -> @5083 @5087 @28 +@5097 := proof(fun {κ : @197} => + proof(fun {ν : @197} => proof(fun (m : @5079) => proof(proof(@291 @5082) @5087)))) +@5099 := (a._@._internal._hyg.#0 : @28) -> (a._@._internal._hyg.#0 : @12) -> @4079 +@5102 := @234 (@4284 @19 @12) +@5109 := LexLeanCollections.mapFold @66 @19 @12 @13 @3 @28 +@5134 := {κ : @197} -> + {ν : @197} -> + {σ : @197} -> + (f : @5099) -> + (z : @3) -> + (m : @5102) -> + @236 + @5109 + (@237 + (@4284 @66 @19) + @12 + (fun (a : @12) => fun (e : @4286) => @4087 (@4292 @81 @39 @28) (@4299 @81 @39 @28)) + @3 + @28) +@5135 := proof(@291 @12) +@5142 := proof(fun {κ : @197} => + proof(fun {ν : @197} => + proof(fun {σ : @197} => + proof(fun (f : @5099) => + proof(fun (z : @3) => proof(fun (m : @5102) => proof(@5135 @5109))))))) +@5146 := LexLeanCollections.mapSize @13 @3 @28 +@5153 := {κ : @197} -> {ν : @197} -> (m : @5079) -> @44 @5146 (@304 @5081 @28) +@5157 := proof(fun {κ : @197} => + proof(fun {ν : @197} => proof(fun (m : @5079) => proof(@310 @5146)))) +@5158 := Sort u_1+1 +@5160 := BEq.{u_1} @28 +@5163 := LawfulBEq.{u_1} @3 @28 +@5170 := @200 (BEq.beq.{u_1} @19 @12 @3 @28) @124 +@5171 := @316 @5170 +@5175 := Eq.{u_1+1} @19 @3 @28 +@5181 := {α : @5158} -> + [inst._@.Init.Core.#1842407054._hygCtx._hyg.#9 : @5160] -> + [inst._@.Init.Core.#1842407054._hygCtx._hyg.#12 : @5163] -> {a : @13} -> {b : @12} -> @5171 @5175 +@5196 := proof(fun {α : @5158} => + proof(fun [inst._@.Init.Core.#1842407054._hygCtx._hyg.#9 : @5160] => + proof(fun [inst._@.Init.Core.#1842407054._hygCtx._hyg.#12 : @5163] => + proof(fun {a : @13} => + proof(fun {b : @12} => + proof(proof(proof(proof(propext) @5170) @5175) + proof(proof(proof(proof(proof(proof(beq_iff_eq.{u_1}) @19) @12) @13) @3) @28))))))) +@5197 := LexLeanRuntime.quotient +@5198 := @5197 @314 +@5199 := LexLeanRuntime.instQuotientInt +@5203 := @5198 @5199 @13 @3 @28 +@5204 := @504 @5203 +@5205 := ite.{1} +@5206 := @5205 @314 +@5207 := @504 @3 +@5208 := @5207 @2558 +@5209 := @5206 @5208 +@5211 := @3197 @3 @2558 +@5213 := @5209 @5211 @28 +@5214 := Int.tdiv +@5216 := @5214 @13 @3 +@5217 := @5213 @5216 +@5218 := @5204 @5217 +@5221 := (a : @314) -> (b : @314) -> (z : @314) -> @5218 +@5222 := proof(@401 @5218) +@5223 := proof(@406 @5218) +@5224 := proof(@504 @5217) +@5227 := proof(proof(@5223 proof(@5224 @5217)) @410) +@5229 := proof(proof(@493 @5204) @5224) +@5232 := proof(proof(proof(@498 @5203) @5217) @504) +@5233 := proof(ite_congr.{1}) +@5234 := proof(@5233 @314) +@5235 := LexLeanRuntime.Quotient.isZero +@5238 := proof(proof(proof(@5235 @314) @5199) @3) +@5243 := proof(proof(proof(@5234 proof(proof(@200 @5238) @124)) @5208) @28) +@5244 := LexLeanRuntime.Quotient.quotient +@5251 := proof(proof(proof(@5243 proof(proof(proof(proof(@5244 @314) @5199) @13) @3)) @28) @5216) +@5253 := proof(proof(@2679 @5238) @124) +@5255 := proof(proof(@5251 @5253) @5211) +@5257 := proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.quotient_int._simp_1_2.{0}) @314) +@5258 := proof(instBEqOfDecidableEq.{0}) +@5260 := proof(proof(@5258 @314) @3197) +@5261 := proof(@5257 @5260) +@5262 := proof(Int.instLawfulBEq) +@5266 := proof(@5255 proof(proof(proof(@5261 @5262) @3) @2558)) +@5268 := proof(fun (a._@._internal._hyg.#0 : @5208) => proof(@2976 @3)) +@5269 := proof(@5266 @5268) +@5270 := proof(@547 @5208) +@5271 := proof(@5214 @12) +@5272 := proof(@5271 @13) +@5285 := proof(fun (a : @314) => + proof(fun (b : @314) => + proof(fun (z : @314) => + proof(@5222 + proof(proof(@5227 + proof(proof(@5229 + proof(@5232 + proof(@5269 + proof(fun (a._@._internal._hyg.#0 : @5270) => proof(@2976 @5272))))) + @5217)) + proof(@3117 @5217)))))) +@5286 := @5197 @43 +@5287 := LexLeanRuntime.instQuotientNat +@5291 := @5286 @5287 @13 @3 @28 +@5292 := @44 @5291 +@5293 := @5205 @43 +@5295 := @44 @3 @2818 +@5296 := @5293 @5295 +@5298 := @3756 @3 @2818 +@5300 := @5296 @5298 @28 +@5301 := HDiv.hDiv.{0, 0, 0} +@5304 := @5301 @43 @43 @43 +@5305 := instHDiv.{0} +@5312 := @5300 (@5304 (@5305 @43 Nat.instDiv) @13 @3) +@5313 := @5292 @5312 +@5316 := (a : @43) -> (b : @43) -> (z : @43) -> @5313 +@5317 := proof(@3156 @5313) +@5318 := proof(Nat.div) +@5320 := proof(proof(@5318 @13) @3) +@5321 := proof(@5300 @5320) +@5322 := proof(@44 @5321) +@5323 := proof(@5322 @5312) +@5324 := proof(@5317 @5323) +@5327 := proof(@350 proof(proof(@316 @5313) @5323)) +@5329 := proof(proof(@1564 @5292) @5322) +@5332 := proof(proof(proof(@1569 @5291) @5321) @44) +@5333 := proof(@5233 @43) +@5336 := proof(proof(proof(@5235 @43) @5287) @3) +@5341 := proof(proof(proof(@5333 proof(proof(@200 @5336) @124)) @5295) @28) +@5348 := proof(proof(proof(@5341 proof(proof(proof(proof(@5244 @43) @5287) @13) @3)) @28) @5320) +@5350 := proof(proof(@2679 @5336) @124) +@5352 := proof(proof(@5348 @5350) @5298) +@5354 := proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.quotient_nat._simp_1_2.{0}) @43) +@5356 := proof(proof(@5258 @43) @3756) +@5357 := proof(@5354 @5356) +@5358 := proof(Nat.instLawfulBEq) +@5362 := proof(@5352 proof(proof(proof(@5357 @5358) @3) @2818)) +@5364 := proof(fun (a._@._internal._hyg.#0 : @5295) => proof(@144 @3)) +@5365 := proof(@5362 @5364) +@5366 := proof(@547 @5295) +@5381 := proof(fun (a : @43) => + proof(fun (b : @43) => + proof(fun (z : @43) => + proof(proof(@5324 + proof(@5327 + proof(proof(@5329 + proof(@5332 + proof(@5365 + proof(fun (a._@._internal._hyg.#0 : @5366) => + proof(@144 proof(proof(@5318 @12) @13)))))) + @5312))) + proof(@144 @5321))))) +@5382 := LexLeanRuntime.remainder +@5387 := @5382 @314 @5199 @13 @3 @28 +@5388 := @504 @5387 +@5389 := Int.tmod +@5391 := @5389 @13 @3 +@5392 := @5213 @5391 +@5393 := @5388 @5392 +@5396 := (a : @314) -> (b : @314) -> (z : @314) -> @5393 +@5397 := proof(@401 @5393) +@5398 := proof(@406 @5393) +@5399 := proof(@504 @5392) +@5402 := proof(proof(@5398 proof(@5399 @5392)) @410) +@5404 := proof(proof(@493 @5388) @5399) +@5407 := proof(proof(proof(@498 @5387) @5392) @504) +@5408 := LexLeanRuntime.Quotient.remainder +@5440 := proof(fun (a : @314) => + proof(fun (b : @314) => + proof(fun (z : @314) => + proof(@5397 + proof(proof(@5402 + proof(proof(@5404 + proof(@5407 + proof(proof(proof(proof(proof(proof(proof(proof(@5243 + proof(proof(proof(proof(@5408 @314) @5199) @13) @3)) + @28) + @5391) + @5253) + @5211) + proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.remainder_int._simp_1_2.{0}) + @314) + @5260) + @5262) + @3) + @2558)) + @5268) + proof(fun (a._@._internal._hyg.#0 : @5270) => + proof(@2976 proof(proof(@5389 @12) @13)))))) + @5392)) + proof(@3117 @5392)))))) +@5445 := @5382 @43 @5287 @13 @3 @28 +@5446 := @44 @5445 +@5447 := HMod.hMod.{0, 0, 0} +@5450 := @5447 @43 @43 @43 +@5451 := instHMod.{0} +@5458 := @5300 (@5450 (@5451 @43 Nat.instMod) @13 @3) +@5459 := @5446 @5458 +@5462 := (a : @43) -> (b : @43) -> (z : @43) -> @5459 +@5463 := proof(@3156 @5459) +@5464 := proof(Nat.mod) +@5466 := proof(proof(@5464 @13) @3) +@5467 := proof(@5300 @5466) +@5468 := proof(@44 @5467) +@5469 := proof(@5468 @5458) +@5510 := proof(fun (a : @43) => + proof(fun (b : @43) => + proof(fun (z : @43) => + proof(proof(proof(@5463 @5469) + proof(proof(@350 proof(proof(@316 @5459) @5469)) + proof(proof(proof(proof(@1564 @5446) @5468) + proof(proof(proof(proof(@1569 @5445) @5467) @44) + proof(proof(proof(proof(proof(proof(proof(proof(@5341 + proof(proof(proof(proof(@5408 @43) @5287) @13) @3)) + @28) + @5466) + @5350) + @5298) + proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.remainder_nat._simp_1_2.{0}) + @43) + @5356) + @5358) + @3) + @2818)) + @5364) + proof(fun (a._@._internal._hyg.#0 : @5366) => + proof(@144 proof(proof(@5464 @12) @13)))))) + @5458))) + proof(@144 @5467))))) +@5511 := @42 @264 +@5514 := LexLeanCollections.setElements @3 @28 +@5518 := {κ : @197} -> (s : @263) -> @5511 @5514 @28 +@5522 := proof(fun {κ : @197} => proof(fun (s : @263) => proof(proof(@291 @264) @5514))) +@5528 := LexLeanCollections.setFold @19 @12 @13 @3 @28 +@5535 := {κ : @197} -> {σ : @197} -> (f : @233) -> (z : @3) -> (s : @235) -> @236 @5528 @242 +@5541 := proof(fun {κ : @197} => + proof(fun {σ : @197} => + proof(fun (f : @233) => proof(fun (z : @3) => proof(fun (s : @235) => proof(@5135 @5528)))))) +@5544 := LexLeanCollections.setSize @3 @28 +@5548 := {κ : @197} -> (s : @263) -> @44 @5544 @306 +@5551 := proof(fun {κ : @197} => proof(fun (s : @263) => proof(@310 @5544))) +@5562 := fun {α : @197} => + fun (k : @2532) => + fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @264) => + annot [sunfoldMatch := bool true] + (@2605 + (fun ("_" : @216) => annot [sunfoldMatchAlt := bool true] @2558) + (fun (x : @13) => fun (xs : @235) => annot [sunfoldMatchAlt := bool true] @2614)) +@5573 := fun {α : @197} => + fun (k : @2532) => + fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @264) => + @2607 (fun (x : @13) => fun (xs : @235) => @2609 (LexLeanLaws.sumInt._unsafe_rec @19 @12 @28)) +@5575 := @2610 @3 @28 +@5576 := @2496 @3 +@5577 := @5575 @5576 +@5581 := {α : @197} -> (k : @2532) -> @504 @5577 @2558 +@5584 := proof(fun {α : @197} => proof(fun (k : @2532) => proof(@2976 @5577))) +@5587 := @2501 @12 @3 @28 +@5588 := @3074 @5587 +@5589 := @504 @5588 +@5590 := @2574 @56 +@5591 := @5590 @3075 +@5593 := (xs : @265) -> @5589 @5591 +@5596 := {α : @197} -> (k : @2532) -> (x_1 : @3) -> @5593 +@5601 := proof(fun {α : @197} => + proof(fun (k : @2532) => proof(fun (x_1 : @3) => proof(fun (xs : @265) => proof(@2976 @5588))))) +@5602 := LexLeanLaws.sumNat.match_1.{u_1} +@5603 := @2610 @13 +@5604 := @5603 @3 +@5605 := @5604 @28 +@5607 := @504 @5605 @2617 +@5610 := {α : @197} -> + (k : @2532) -> (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @264) -> @5607 +@5611 := proof(@350 @5607) +@5612 := proof(List.brecOn.go.{1, 0}) +@5613 := proof(@5612 @13) +@5617 := proof(proj PProd PProd.snd 1 proof(proof(proof(@5613 @2535) @28) @2597)) +@5618 := proof(@2591 @12) +@5619 := proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @235) => @314) +@5621 := proof(proof(@5618 @5619) @3) +@5623 := proof(proof(@2595 @12) @13) +@5624 := proof(@5621 @5623) +@5625 := proof(@504 @5624) +@5629 := proof(proof(proof(@2543 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @235) => + @314)) + @3) + @2606) +@5630 := proof(@2574 @4087) +@5631 := proof(@2643 @28) +@5635 := proof(@5629 proof(fun (x : @12) => proof(fun (xs : @2500) => proof(@5630 @5631)))) +@5636 := proof(@5625 @5635) +@5637 := proof(@3156 @5636) +@5638 := proof(@2542 @19) +@5642 := proof(proof(proof(@5638 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @2500) => + @314)) + @13) + @2606) +@5643 := proof(@66 @3) +@5651 := proof(fun (x : @314) => + proof(@3100 + proof(@5642 + proof(fun (x : @19) => + proof(fun (xs : @2522) => proof(proof(@2574 @5643) proof(@2703 @28))))))) +@5652 := proof(@5623 @3) +@5654 := proof(@5651 proof(@5652 @28)) +@5655 := proof(@5637 @5654) +@5658 := proof(@350 proof(proof(@316 @5636) @5654)) +@5659 := proof(@3109 @5624) +@5660 := proof(@5612 @12) +@5667 := proof(proof(@5659 + proof(@5652 proof(proj PProd PProd.snd 1 proof(proof(proof(@5660 @5619) @3) @5623)))) + @5651) +@5669 := proof(proof(List.brecOn.eq.{1, 0}) @12) +@5675 := proof(@5655 proof(@5658 proof(@5667 proof(proof(proof(@5669 @5619) @3) @5623)))) +@5676 := proof(@350 @5654) +@5679 := proof(@350 proof(proof(@504 @2583) @5635)) +@5681 := proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat.match_1.splitter.{0}) @12) +@5682 := proof(@3891 @13) +@5683 := proof(@5682 @28) +@5684 := proof(@2542 @66) +@5685 := proof(List.rec.{2, 0}) +@5688 := proof(proof(@5685 @39) proof(fun (t : @3893) => @197)) +@5689 := proof(PUnit.{1}) +@5690 := proof(@5688 @5689) +@5691 := proof(PProd.{1, 1}) +@5692 := proof(@5691 @314) +@5694 := proof(fun (tail_ih : @197) => proof(@5692 @28)) +@5702 := proof(proof(@5684 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @2522) => + proof((x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : proof(proof(@5690 + proof(fun (head : @39) => proof(fun (tail : @3954) => @5694))) + @28)) -> + @314))) + @12) +@5704 := proof(fun ("_" : @216) => + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @5689) => @2558)) +@5705 := proof(@5702 @5704) +@5709 := proof(proof(proof(@5685 @81) proof(fun (t : @3954) => @197)) @5689) +@5713 := proof(proof(@5709 proof(fun (head : @81) => proof(fun (tail : @3979) => @5694))) @28) +@5714 := proof(@5692 @5713) +@5715 := proof(@81 @13) +@5723 := proof(@504 + proof(proof(@5705 + proof(fun (x : @66) => + proof(fun (xs : @3893) => + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @5714) => + proof(proof(@2574 @5715) @2577))))) + @13)) +@5727 := proof(proof(proof(@5684 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @2522) => + @314)) + @12) + @2606) +@5728 := proof(@2574 @40) +@5729 := proof(@3151 @28) +@5730 := proof(@5728 @5729) +@5738 := proof(proof(@5681 + proof(fun (x : @235) => + proof((h : @5683) -> + proof(@5723 proof(@5727 proof(fun (x : @66) => proof(fun (xs : @3893) => @5730))))))) + @3) +@5739 := proof(@5682 @2552) +@5740 := proof(@72 @2522) +@5741 := proof(@2496 @66) +@5742 := proof(@5740 @5741) +@5743 := proof(@2533 @39) +@5744 := proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @3893) => @314) +@5745 := proof(@5743 @5744) +@5746 := proof(@5745 @28) +@5747 := proof(@5612 @39) +@5748 := proof(@5747 @5744) +@5749 := proof(@5748 @28) +@5751 := proof(proof(@2595 @39) @66) +@5753 := proof(proj PProd PProd.snd 1 proof(@5749 @5751)) +@5754 := proof(@2542 @81) +@5758 := proof(proof(proof(@5685 @48) proof(fun (t : @3979) => @197)) @5689) +@5762 := proof(proof(@5758 proof(fun (head : @48) => proof(fun (tail : @4145) => @5694))) @28) +@5765 := proof(@5754 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @3954) => + proof((x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @5762) -> @314))) +@5767 := proof(proof(@5765 @3) @5704) +@5771 := proof(proof(proof(@5685 @76) proof(fun (t : @4145) => @197)) @5689) +@5772 := proof(@234 @4117) +@5776 := proof(proof(@5771 proof(fun (head : @76) => proof(fun (tail : @5772) => @5694))) @28) +@5777 := proof(@5692 @5776) +@5778 := proof(@76 @13) +@5783 := proof(fun (x : @81) => + proof(fun (xs : @3979) => + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @5777) => + proof(proof(@2574 @5778) @2577)))) +@5786 := proof(@504 proof(proof(@5767 @5783) @28)) +@5788 := proof(@5754 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @3954) => + @314)) +@5790 := proof(proof(@5788 @3) @2606) +@5791 := proof(@2574 @4215) +@5793 := proof(proof(@2610 @76) @48) +@5797 := proof(fun (x : @81) => proof(fun (xs : @3979) => proof(@5791 proof(@5793 @28)))) +@5802 := proof(@5742 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @2522) => + proof(let r : @5746 := @5753; proof(@5786 proof(@5790 @5797))))) +@5803 := proof(@2564 @5741) +@5804 := proof(@5612 @66) +@5810 := proof(proj PProd PProd.snd 1 + proof(proof(proof(@5804 @2563) @5741) proof(proof(@2595 @66) @19))) +@5811 := proof(@2542 @39) +@5816 := proof(proof(proof(@5811 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @3893) => + proof((x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @5713) -> @314))) + @3904) + @5704) +@5817 := proof(@5692 @5762) +@5818 := proof(@48 @13) +@5826 := proof(@504 + proof(proof(@5816 + proof(fun (x : @39) => + proof(fun (xs : @3954) => + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @5817) => + proof(proof(@2574 @5818) @2577))))) + @28)) +@5830 := proof(proof(proof(@5811 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @3893) => + @314)) + @3904) + @2606) +@5831 := proof(@81 @3) +@5839 := proof(@350 + proof(@5826 + proof(@5830 + proof(fun (x : @39) => + proof(fun (xs : @3954) => proof(proof(@2574 @5831) proof(@3184 @28))))))) +@5840 := proof(@2976 @2558) +@5844 := proof(proof(@5802 proof(let r : @5803 := @5810; proof(@5839 @5840))) @12) +@5848 := proof(proof(proof(proof(@132 @2522) @12) @5741) @28) +@5852 := proof(@5738 proof(fun ("_" : @216) => proof(fun (h : @5739) => proof(@5844 @5848)))) +@5854 := proof(proof(@3952 @12) @2504) +@5855 := proof(@72 @3893) +@5857 := proof(proof(@3902 @13) @3) +@5858 := proof(@5855 @5857) +@5859 := proof(@2533 @81) +@5860 := proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @3954) => @314) +@5862 := proof(proof(@5859 @5860) @28) +@5863 := proof(@5612 @81) +@5869 := proof(proj PProd PProd.snd 1 + proof(proof(proof(@5863 @5860) @28) proof(proof(@2595 @81) @39))) +@5870 := proof(@2542 @48) +@5875 := proof(proof(proof(@5870 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @3979) => + proof((x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : @5776) -> @314))) + @3) + @5704) +@5879 := proof(proof(proof(@5685 @4117) proof(fun (t : @5772) => @197)) @5689) +@5880 := proof(@234 @4147) +@5893 := proof(@504 + proof(proof(@5875 + proof(fun (x : @48) => + proof(fun (xs : @4145) => + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#49 : proof(@5692 + proof(proof(@5879 + proof(fun (head : @4117) => proof(fun (tail : @5880) => @5694))) + @28))) => + proof(proof(@2574 @4511) @2577))))) + @28)) +@5897 := proof(proof(proof(@5870 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx.#10.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#21 : @3979) => + @314)) + @3) + @2606) +@5898 := proof(@2574 @4478) +@5900 := proof(proof(@2610 @4117) @76) +@5929 := proof(proof(proof(@5858 + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @3893) => + proof(let r : @5862 := @5869; + proof(@5893 + proof(@5897 + proof(fun (x : @48) => + proof(fun (xs : @4145) => proof(@5898 proof(@5900 @28))))))))) + proof(let r : proof(@5745 + @5857) := proof(proj PProd PProd.snd 1 proof(proof(@5748 @5857) @5751)); + proof(proof(@350 + proof(proof(@504 proof(proof(proof(proof(@5765 @3147) @5704) @5783) @28)) + proof(proof(proof(@5788 @3147) @2606) @5797))) + proof(@2976 proof(@3165 @2577))))) + @19) +@5933 := proof(proof(proof(proof(@132 @3893) @19) @5857) @28) +@5938 := proof(@5852 + proof(fun (x_1 : @12) => + proof(fun (xs : @2500) => proof(fun (h : @5854) => proof(@5929 @5933))))) +@5939 := proof(@4580 @3) +@5948 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (x._@.LexLeanRuntime.Laws.#2558776993._hygCtx._hyg.#10 : @264) => + proof(@5611 + proof(let r : @2537 := @5617; + proof(@5675 proof(@5676 proof(@5679 proof(@5938 @5939))))))))) +@5949 := (a._@._internal._hyg.#0 : @3) -> @314 +@5951 := @2574 (@2609 @56) +@5952 := @2574 @2613 +@5954 := @2611 @13 @28 +@5955 := @5952 @5954 +@5957 := @504 (@5951 @5955) +@5958 := @2574 @2614 +@5959 := @5590 @5954 +@5962 := @547 (@5957 (@5958 @5959)) +@5968 := {α : @197} -> + (k : @2532) -> + (l : @5949) -> + (x : @13) -> + (xs : @235) -> (a._@._internal.#0.LexLeanRuntime.Laws.#526633591._hygCtx._hyg.#82 : @5962) -> @324 +@5969 := proof(@19 @13) +@5970 := proof(@2574 @5969) +@5972 := proof(@2574 proof(@5970 @14)) +@5973 := proof(@2574 @3094) +@5974 := proof(@2642 @12) +@5975 := proof(@5974 @3) +@5977 := proof(@5972 proof(@5973 @5975)) +@5978 := proof(@320 @5977) +@5979 := proof(@5970 @3094) +@5980 := proof(@2574 @5979) +@5981 := proof(@2627 @5975) +@5982 := proof(@5980 @5981) +@5983 := proof(@5978 @5982) +@5984 := proof(@2638 @5983) +@5986 := proof(proof(@320 @5982) @5977) +@5992 := proof(proof(proof(@5984 @5986) @324) proof(proof(proof(@2656 @5977) @5982) @28)) +@5993 := proof(@2692 @2696) +@5994 := proof(@2692 @5993) +@5995 := proof(@2690 @5994) +@5999 := proof(@2702 proof(fun (x : @39) => proof(proof(@2574 @3086) @4127))) +@6000 := proof(@5999 @13) +@6001 := proof(@2691 @6000) +@6002 := proof(@2703 @13) +@6003 := proof(@2691 @6002) +@6004 := proof(@2702 @19) +@6005 := proof(@6004 @13) +@6006 := proof(@2691 @6005) +@6007 := proof(@66 @12) +@6008 := proof(@2691 @6007) +@6010 := proof(proof(@2691 @20) @2693) +@6011 := proof(@6008 @6010) +@6012 := proof(@6006 @6011) +@6013 := proof(@6003 @6012) +@6015 := proof(@2698 proof(@6001 @6013)) +@6016 := proof(@5995 @6015) +@6017 := proof(@2715 @5994) +@6018 := proof(@6017 @6015) +@6019 := proof(@2724 @5994) +@6020 := proof(@6019 @6015) +@6021 := proof(@2574 @6007) +@6022 := proof(@6021 @6002) +@6023 := proof(@2574 @6022) +@6024 := proof(@2647 @6005) +@6025 := proof(@6023 @6024) +@6026 := proof(@2738 @6025) +@6027 := proof(@6021 @20) +@6028 := proof(@2574 @6027) +@6029 := proof(@2574 @6002) +@6030 := proof(@6029 @6005) +@6031 := proof(@6028 @6030) +@6033 := proof(proof(@2574 @6031) @2667) +@6034 := proof(@6026 @6033) +@6035 := proof(@2729 @6034) +@6037 := proof(@2692 proof(@2762 @2765)) +@6038 := proof(@2761 @6037) +@6039 := proof(@2759 @6038) +@6040 := proof(@2768 @6037) +@6042 := proof(@2751 proof(@6039 @6040)) +@6043 := proof(@6042 @6015) +@6052 := proof(proof(proof(@6035 @6043) @552) + proof(proof(proof(@2775 @6025) @6033) proof(proof(proof(@2778 @6031) @6025) @28))) +@6053 := proof(@2784 @6034) +@6054 := proof(@2762 @2823) +@6055 := proof(@2692 @6054) +@6056 := proof(@2761 @6055) +@6057 := proof(@2792 @6056) +@6059 := proof(@2761 proof(@2692 @6055)) +@6061 := proof(@2751 proof(@6057 @6059)) +@6062 := proof(@6061 @6015) +@6063 := proof(@2738 @6062) +@6066 := proof(@2751 proof(proof(@2792 @6038) @2802)) +@6067 := proof(@6066 @6015) +@6070 := proof(proof(@6053 proof(@6063 @6067)) @6043) +@6074 := proof(proof(proof(proof(@2809 @6025) @6062) @6033) @6067) +@6075 := proof(@2784 @6025) +@6076 := proof(@2692 @2826) +@6077 := proof(@2761 @6076) +@6078 := proof(@2792 @6077) +@6080 := proof(@2751 proof(@6078 @2824)) +@6081 := proof(@6080 @6015) +@6082 := proof(@2574 @6081) +@6084 := proof(@2761 proof(@2692 @6076)) +@6087 := proof(@2751 proof(proof(@2792 @6084) @2827)) +@6088 := proof(@6087 @6015) +@6091 := proof(proof(@6075 proof(@6082 @6088)) @6062) +@6092 := proof(@2834 @6022) +@6095 := proof(proof(proof(@6092 @6081) @6024) @6088) +@6096 := proof(@2784 @6022) +@6097 := proof(3) +@6102 := proof(@2751 proof(@2815 proof(proof(@105 @6097) proof(@95 @6097)))) +@6103 := proof(@6102 @6015) +@6104 := proof(@2574 @6103) +@6105 := proof(@2849 @6015) +@6108 := proof(proof(@6096 proof(@6104 @6105)) @6081) +@6109 := proof(@2834 @6007) +@6110 := proof(@6109 @6103) +@6112 := proof(proof(@6110 @6002) @6105) +@6114 := proof(proof(@2839 @6103) @6007) +@6115 := proof(Lean.Omega.LinearCombo.coordinate_eval_3) +@6121 := proof(@6114 proof(proof(proof(proof(proof(@6115 @6000) @6002) @6005) @6007) @6010)) +@6122 := proof(@6112 @6121) +@6128 := proof(proof(proof(@2839 @6105) @6002) proof(proof(proof(@2868 @6000) @6002) @6012)) +@6130 := proof(@6108 proof(@6122 @6128)) +@6131 := proof(@2839 @6081) +@6132 := proof(@2751 @6077) +@6134 := proof(@2574 proof(@6132 @6015)) +@6135 := proof(@2885 @6015) +@6137 := proof(@6131 proof(@6134 @6135)) +@6138 := proof(@2892 @6077) +@6139 := proof(@6138 @2824) +@6143 := proof(@6095 proof(@6130 proof(@6137 proof(@6139 @6015)))) +@6144 := proof(@2784 @6024) +@6145 := proof(4) +@6150 := proof(@2751 proof(@2815 proof(proof(@105 @6145) proof(@95 @6145)))) +@6151 := proof(@6150 @6015) +@6152 := proof(@2574 @6151) +@6153 := proof(@2857 @6015) +@6156 := proof(proof(@6144 proof(@6152 @6153)) @6088) +@6157 := proof(@2834 @20) +@6160 := proof(proof(proof(@6157 @6151) @6005) @6153) +@6162 := proof(proof(@2839 @6151) @20) +@6163 := proof(Lean.Omega.LinearCombo.coordinate_eval_4) +@6170 := proof(@6162 + proof(proof(proof(proof(proof(proof(@6163 @6000) @6002) @6005) @6007) @20) @2693)) +@6171 := proof(@6160 @6170) +@6178 := proof(proof(proof(@2839 @6153) @6005) + proof(proof(proof(proof(@2876 @6000) @6002) @6005) @6011)) +@6180 := proof(@6156 proof(@6171 @6178)) +@6181 := proof(@2839 @6088) +@6182 := proof(@2751 @6084) +@6183 := proof(@6182 @6015) +@6184 := proof(@2574 @6183) +@6185 := proof(@2888 @6015) +@6187 := proof(@6181 proof(@6184 @6185)) +@6189 := proof(proof(@2892 @6084) @2827) +@6194 := proof(@6091 proof(@6143 proof(@6180 proof(@6187 proof(@6189 @6015))))) +@6195 := proof(@2839 @6062) +@6196 := proof(@2751 @6056) +@6198 := proof(@2574 proof(@6196 @6015)) +@6199 := proof(@2751 @6059) +@6202 := proof(@6195 proof(@6198 proof(@6199 @6015))) +@6203 := proof(@2892 @6056) +@6204 := proof(@6203 @6059) +@6207 := proof(@6194 proof(@6202 proof(@6204 @6015))) +@6208 := proof(@6074 @6207) +@6209 := proof(@2784 @6033) +@6212 := proof(@2761 proof(@2692 proof(@2692 @2795))) +@6215 := proof(@2751 proof(proof(@2792 @6212) @2796)) +@6216 := proof(@6215 @6015) +@6217 := proof(@2574 @6216) +@6218 := proof(@2921 @6015) +@6221 := proof(proof(@6209 proof(@6217 @6218)) @6067) +@6225 := proof(proof(proof(proof(@2834 @6031) @6216) @2667) @6218) +@6226 := proof(@2784 @6031) +@6228 := proof(@2751 proof(@6078 @6084)) +@6229 := proof(@6228 @6015) +@6230 := proof(@2574 @6229) +@6231 := proof(@2829 @6015) +@6234 := proof(proof(@6226 proof(@6230 @6231)) @6216) +@6238 := proof(proof(proof(proof(@2834 @6027) @6229) @6030) @6231) +@6247 := proof(proof(proof(proof(@2784 @6027) proof(@6104 @6151)) @6229) + proof(proof(proof(proof(@6110 @20) @6151) @6121) @6170)) +@6250 := proof(proof(@2839 @6229) proof(@6134 @6183)) +@6251 := proof(@6138 @6084) +@6255 := proof(@6238 proof(@6247 proof(@6250 proof(@6251 @6015)))) +@6260 := proof(proof(proof(@2784 @6030) proof(proof(@2574 @6105) @6153)) @6231) +@6261 := proof(@2834 @6002) +@6276 := proof(@6234 + proof(@6255 + proof(proof(@6260 proof(proof(proof(proof(proof(@6261 @6105) @6005) @6153) @6128) @6178)) + proof(proof(proof(@2839 @6231) proof(proof(@2574 @6135) @6185)) proof(@2894 @6015))))) +@6277 := proof(@2839 @6216) +@6278 := proof(@2751 @6212) +@6283 := proof(@6277 proof(proof(@2574 proof(@6278 @6015)) proof(@2904 @6015))) +@6285 := proof(proof(@2892 @6212) @2796) +@6288 := proof(@6276 proof(@6283 proof(@6285 @6015))) +@6289 := proof(@6225 @6288) +@6292 := proof(proof(@350 proof(@2973 @6218)) @2977) +@6294 := proof(@6221 proof(@6289 @6292)) +@6295 := proof(@2839 @6067) +@6296 := proof(@2751 @6038) +@6297 := proof(@6296 @6015) +@6300 := proof(@6295 proof(proof(@2574 @6297) @6218)) +@6302 := proof(proof(@2892 @6038) @2802) +@6304 := proof(@6300 proof(@6302 @6015)) +@6307 := proof(@6070 proof(@6208 proof(@6294 @6304))) +@6308 := proof(@2839 @6043) +@6309 := proof(@2738 @6297) +@6310 := proof(@2751 @6040) +@6313 := proof(@6308 proof(@6309 proof(@6310 @6015))) +@6315 := proof(proof(@3000 @6038) @6040) +@6317 := proof(@6313 proof(@6315 @6015)) +@6324 := proof(@5992 + proof(fun (h₁ : @5983) => + proof(@6016 proof(@6018 proof(@6020 proof(@6052 proof(@6307 @6317))))))) +@6325 := proof(@2738 @6031) +@6327 := proof(proof(@2574 @6025) @2667) +@6328 := proof(@6325 @6327) +@6376 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (l : @5949) => + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#526633591._hygCtx._hyg.#82 : @5962) => + proof(@6324 + proof(fun (h₂ : @5986) => + proof(@6016 + proof(@6018 + proof(@6020 + proof(proof(proof(proof(proof(@2729 @6328) @6043) @552) + proof(proof(proof(@2775 @6031) @6327) + proof(proof(proof(@2778 @6025) @6031) @28))) + proof(proof(proof(proof(proof(@2784 @6328) + proof(proof(@2738 @6216) @6067)) + @6043) + proof(proof(proof(proof(proof(proof(@2809 @6031) @6216) + @6327) + @6067) + @6288) + proof(proof(proof(proof(proof(@2784 @6327) + proof(proof(@2574 @6062) @6218)) + @6067) + proof(proof(proof(proof(proof(proof(@2834 @6025) + @6062) + @2667) + @6218) + @6207) + @6292)) + @6304))) + @6317))))))))))))) +@6377 := @12 @28 +@6378 := @2574 @6377 +@6379 := @13 @28 +@6382 := @3073 (fun (x : @12) => @6378 @6379) +@6384 := @504 (@6382 @28) +@6385 := @2574 @3075 +@6386 := @3073 @3 +@6387 := @6386 @28 +@6393 := {α : @197} -> (k : @2532) -> (l : @5949) -> (xs : @265) -> @6384 (@6385 @6387) +@6405 := proof(proof(@3083 + proof(fun (xs : @235) => + proof(proof(@504 + proof(proof(@2611 proof(fun (x : @19) => proof(proof(@2574 @2515) @6377))) @28)) + @5955))) + proof(@2976 proof(@6382 @2497))) +@6411 := proof(@504 proof(proof(@2642 proof(fun (x : @66) => proof(proof(@2574 @4127) @2515))) @28)) +@6412 := proof(@2574 @5631) +@6413 := proof(@5974 @28) +@6415 := proof(@6411 proof(@6412 @6413)) +@6417 := proof(@504 proof(@5999 @5857)) +@6418 := proof(@2703 @5857) +@6419 := proof(@2574 @6418) +@6420 := proof(@6004 @5857) +@6423 := proof(@350 proof(@6417 proof(@6419 @6420))) +@6425 := proof(@2574 proof(@2576 @5969)) +@6426 := proof(@5999 @3) +@6428 := proof(@504 proof(@6425 @6426)) +@6429 := proof(@2576 @3133) +@6430 := proof(@2574 @6429) +@6431 := proof(@6004 @3) +@6432 := proof(@5970 @6431) +@6433 := proof(@6430 @6432) +@6434 := proof(@6428 @6433) +@6435 := proof(@3156 @6434) +@6436 := proof(@2574 @3133) +@6437 := proof(@6436 @6431) +@6438 := proof(@6425 @6437) +@6440 := proof(proof(@504 @6438) @6433) +@6441 := proof(@6435 @6440) +@6444 := proof(@350 proof(proof(@316 @6434) @6440)) +@6446 := proof(proof(@3109 @6426) @6437) +@6450 := proof(@504 proof(proof(@2574 proof(@3165 @6007)) @28)) +@6451 := proof(@2574 @3167) +@6453 := proof(proof(@3150 @66) @13) +@6454 := proof(@6021 @6453) +@6486 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (l : @5949) => + proof(fun (xs : @265) => + proof(proof(@6405 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @6415) => + proof(@6423 + proof(proof(@6441 + proof(@6444 + proof(proof(@6446 + proof(fun (_a : @314) => proof(@6450 proof(@6451 @6454)))) + @28))) + proof(proof(proof(@3195 @6440) proof(proof(@3197 @6438) @6433)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#526633591._hygCtx._hyg.#82 : proof(@547 + @6440)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_add._proof_1_4) + @81) + @39) + @66) + @12) + @13) + @28))))))))) + @28))))) +@6487 := @2612 @13 +@6493 := @547 (@504 (@2609 (@5952 @6487)) (@5958 @6487)) +@6499 := {α : @197} -> + (k : @2532) -> + (ys : @264) -> + (x : @13) -> + (xs : @235) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#2536644199._hygCtx._hyg.#71 : @6493) -> @324 +@6500 := proof(@2643 @12) +@6502 := proof(@5970 proof(@5973 @6500)) +@6503 := proof(@320 @6502) +@6504 := proof(@5980 @6500) +@6505 := proof(@6503 @6504) +@6506 := proof(@2638 @6505) +@6508 := proof(proof(@320 @6504) @6502) +@6514 := proof(proof(proof(@6506 @6508) @324) proof(proof(proof(@2656 @6502) @6504) @28)) +@6515 := proof(@2690 @5993) +@6517 := proof(proof(@3900 @13) @19) +@6518 := proof(@2703 @6517) +@6519 := proof(@2691 @6518) +@6520 := proof(@2703 @19) +@6521 := proof(@2691 @6520) +@6522 := proof(@6008 @2693) +@6523 := proof(@6521 @6522) +@6526 := proof(@2698 proof(@6519 proof(@6003 @6523))) +@6527 := proof(@6515 @6526) +@6528 := proof(@2715 @5993) +@6529 := proof(@6528 @6526) +@6530 := proof(@2724 @5993) +@6531 := proof(@6530 @6526) +@6532 := proof(@6023 @6520) +@6533 := proof(@2738 @6532) +@6534 := proof(@6029 @6520) +@6535 := proof(@6021 @6534) +@6537 := proof(proof(@2574 @6535) @2667) +@6538 := proof(@6533 @6537) +@6539 := proof(@2729 @6538) +@6540 := proof(@2692 @2765) +@6541 := proof(@2761 @6540) +@6542 := proof(@2759 @6541) +@6543 := proof(@2768 @6540) +@6545 := proof(@2751 proof(@6542 @6543)) +@6546 := proof(@6545 @6526) +@6555 := proof(proof(proof(@6539 @6546) @552) + proof(proof(proof(@2775 @6532) @6537) proof(proof(proof(@2778 @6535) @6532) @28))) +@6556 := proof(@2784 @6538) +@6558 := proof(@2751 proof(@6057 @2827)) +@6559 := proof(@6558 @6526) +@6560 := proof(@2738 @6559) +@6563 := proof(@2751 proof(proof(@2792 @6541) @2802)) +@6564 := proof(@6563 @6526) +@6567 := proof(proof(@6556 proof(@6560 @6564)) @6546) +@6571 := proof(proof(proof(proof(@2809 @6532) @6559) @6537) @6564) +@6572 := proof(@2784 @6532) +@6573 := proof(@6080 @6526) +@6574 := proof(@2574 @6573) +@6575 := proof(@2857 @6526) +@6578 := proof(proof(@6572 proof(@6574 @6575)) @6559) +@6581 := proof(proof(proof(@6092 @6573) @6520) @6575) +@6582 := proof(@6102 @6526) +@6583 := proof(@2574 @6582) +@6584 := proof(@2849 @6526) +@6587 := proof(proof(@6096 proof(@6583 @6584)) @6573) +@6588 := proof(@6109 @6582) +@6590 := proof(proof(@6588 @6002) @6584) +@6598 := proof(proof(proof(@2839 @6582) @6007) + proof(proof(proof(proof(proof(@6115 @6518) @6002) @6520) @6007) @2693)) +@6599 := proof(@6590 @6598) +@6605 := proof(proof(proof(@2839 @6584) @6002) proof(proof(proof(@2868 @6518) @6002) @6523)) +@6607 := proof(@6587 proof(@6599 @6605)) +@6608 := proof(@2839 @6573) +@6610 := proof(@2574 proof(@6132 @6526)) +@6611 := proof(@2885 @6526) +@6617 := proof(@6581 proof(@6607 proof(proof(@6608 proof(@6610 @6611)) proof(@6139 @6526)))) +@6624 := proof(proof(proof(@2839 @6575) @6520) + proof(proof(proof(proof(@2876 @6518) @6002) @6520) @6522)) +@6626 := proof(@6578 proof(@6617 @6624)) +@6627 := proof(@2839 @6559) +@6629 := proof(@2574 proof(@6196 @6526)) +@6630 := proof(@2888 @6526) +@6632 := proof(@6627 proof(@6629 @6630)) +@6633 := proof(@6203 @2827) +@6636 := proof(@6626 proof(@6632 proof(@6633 @6526))) +@6637 := proof(@6571 @6636) +@6638 := proof(@2784 @6537) +@6640 := proof(@2751 proof(@6078 @2796)) +@6641 := proof(@6640 @6526) +@6642 := proof(@2574 @6641) +@6643 := proof(@2921 @6526) +@6646 := proof(proof(@6638 proof(@6642 @6643)) @6564) +@6650 := proof(proof(proof(proof(@2834 @6535) @6641) @2667) @6643) +@6651 := proof(@2784 @6535) +@6652 := proof(@2829 @6526) +@6678 := proof(proof(proof(@6651 proof(@6583 @6652)) @6641) + proof(proof(proof(proof(@6588 @6534) @6652) @6598) + proof(proof(proof(proof(proof(@2784 @6534) proof(proof(@2574 @6584) @6575)) @6652) + proof(proof(proof(proof(proof(@6261 @6584) @6520) @6575) @6605) @6624)) + proof(proof(proof(@2839 @6652) proof(proof(@2574 @6611) @6630)) proof(@2894 @6526))))) +@6682 := proof(proof(@2839 @6641) proof(@6610 proof(@2904 @6526))) +@6683 := proof(@6138 @2796) +@6686 := proof(@6678 proof(@6682 proof(@6683 @6526))) +@6687 := proof(@6650 @6686) +@6690 := proof(proof(@350 proof(@2973 @6643)) @2977) +@6692 := proof(@6646 proof(@6687 @6690)) +@6693 := proof(@2839 @6564) +@6694 := proof(@2751 @6541) +@6695 := proof(@6694 @6526) +@6698 := proof(@6693 proof(proof(@2574 @6695) @6643)) +@6700 := proof(proof(@2892 @6541) @2802) +@6702 := proof(@6698 proof(@6700 @6526)) +@6705 := proof(@6567 proof(@6637 proof(@6692 @6702))) +@6706 := proof(@2839 @6546) +@6707 := proof(@2738 @6695) +@6708 := proof(@2751 @6543) +@6711 := proof(@6706 proof(@6707 proof(@6708 @6526))) +@6713 := proof(proof(@3000 @6541) @6543) +@6715 := proof(@6711 proof(@6713 @6526)) +@6722 := proof(@6514 + proof(fun (h₁ : @6505) => + proof(@6527 proof(@6529 proof(@6531 proof(@6555 proof(@6705 @6715))))))) +@6723 := proof(@2738 @6535) +@6725 := proof(proof(@2574 @6532) @2667) +@6726 := proof(@6723 @6725) +@6774 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (ys : @264) => + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#2536644199._hygCtx._hyg.#71 : @6493) => + proof(@6722 + proof(fun (h₂ : @6508) => + proof(@6527 + proof(@6529 + proof(@6531 + proof(proof(proof(proof(proof(@2729 @6726) @6546) @552) + proof(proof(proof(@2775 @6535) @6725) + proof(proof(proof(@2778 @6532) @6535) @28))) + proof(proof(proof(proof(proof(@2784 @6726) + proof(proof(@2738 @6641) @6564)) + @6546) + proof(proof(proof(proof(proof(proof(@2809 @6535) @6641) + @6725) + @6564) + @6686) + proof(proof(proof(proof(proof(@2784 @6725) + proof(proof(@2574 @6559) @6643)) + @6564) + proof(proof(proof(proof(proof(proof(@2834 @6532) + @6559) + @2667) + @6643) + @6636) + @6690)) + @6702))) + @6715))))))))))))) +@6776 := @3927 @3 @28 +@6786 := {α : @197} -> + (k : @2532) -> (xs : @264) -> (ys : @265) -> @504 (@3074 @6776) (@2574 (@3074 @3) @3075) +@6792 := proof(@3083 + proof(fun (xs : @235) => proof(proof(@504 proof(@2612 @3914)) proof(@5952 @2624)))) +@6793 := proof(@504 @3075) +@6796 := proof(proof(@2574 proof(@3074 @2497)) @3075) +@6797 := proof(@6793 @6796) +@6813 := proof(@6792 + proof(proof(@401 @6797) + proof(proof(proof(proof(proof(@406 @6797) proof(@6793 @3075)) @410) + proof(proof(proof(proof(@3109 @6796) @3075) @6793) + proof(proof(Int.zero_add) @3075))) + proof(@3117 @3075)))) +@6814 := proof(@3973 @13) +@6818 := proof(proof(@504 proof(@2643 @6814)) proof(@6412 @2644)) +@6820 := proof(proof(@3900 @5857) @12) +@6821 := proof(@2703 @6820) +@6822 := proof(@504 @6821) +@6824 := proof(@6822 proof(@6419 @2704)) +@6825 := proof(@3156 @6824) +@6826 := proof(@3901 @12) +@6827 := proof(@2703 @6826) +@6828 := proof(@2576 @6827) +@6829 := proof(@504 @6828) +@6830 := proof(@6430 @2704) +@6831 := proof(@6829 @6830) +@6850 := proof(proof(@6825 @6831) + proof(proof(@350 proof(proof(@316 @6824) @6831)) + proof(proof(proof(proof(@493 @6822) @6829) + proof(proof(proof(proof(@498 @6821) @6828) @504) + proof(proof(proof(proof(proof(LexLeanLaws.sumInt.eq_2) @39) @66) @13) @6826))) + @6830))) +@6851 := proof(@3156 @6831) +@6852 := proof(@6436 @2704) +@6853 := proof(@2576 @6852) +@6855 := proof(proof(@504 @6853) @6830) +@6896 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (xs : @264) => + proof(fun (ys : @265) => + proof(proof(@6813 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @6818) => + proof(@6850 + proof(proof(proof(@6851 @6855) + proof(proof(@350 proof(proof(@316 @6831) @6855)) + proof(proof(proof(proof(@3109 @6827) @6852) + proof(fun (_a : @314) => + proof(proof(@504 proof(@3165 @28)) + proof(@6451 proof(@3151 @19))))) + @28))) + proof(proof(proof(@3195 @6855) proof(proof(@3197 @6853) @6830)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#2536644199._hygCtx._hyg.#71 : proof(@547 + @6855)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_append._proof_1_4) + @81) + @39) + @19) + @12) + @13) + @28))))))))) + @3))))) +@6899 := {α : @197} -> (k : @2532) -> (x : @3) -> @5593 +@6900 := proof(@291 @314) +@6905 := proof(fun {α : @197} => + proof(fun (k : @2532) => proof(fun (x : @3) => proof(fun (xs : @265) => proof(@6900 @5588))))) +@6906 := HMul.hMul.{0, 0, 0} +@6909 := @6906 @314 @314 @314 +@6910 := instHMul.{0} +@6914 := @6909 (@6910 @314 Int.instMul) +@6915 := @6914 @3 +@6916 := @304 @13 +@6917 := @6916 @28 +@6919 := @6915 (@3363 @6917) +@6925 := @547 (@504 (@2639 @6919) (@2574 @6919 @3)) +@6929 := {α : @197} -> + (c : @314) -> + (xs : @264) -> (a._@._internal.#0.LexLeanRuntime.Laws.#411426235._hygCtx._hyg.#64 : @6925) -> @324 +@6930 := @6914 @13 +@6931 := proof(@304 @12) +@6932 := proof(@6931 @3) +@6934 := proof(@6930 proof(@3363 @6932)) +@6935 := proof(@2739 @6934) +@6936 := proof(@320 @6935) +@6938 := proof(proof(@2574 @6934) @13) +@6939 := proof(@6936 @6938) +@6940 := proof(@2638 @6939) +@6942 := proof(proof(@320 @6938) @6935) +@6948 := proof(proof(proof(@6940 @6942) @324) proof(proof(proof(@2656 @6935) @6938) @28)) +@6950 := proof(@2611 proof(fun (x._@.LexLeanRuntime.Laws.#411426235._hygCtx._hyg.#14 : @19) => @19)) +@6951 := proof(@6950 @13) +@6952 := proof(@2691 @6951) +@6953 := @6914 @12 +@6954 := proof(@304 @19) +@6955 := proof(@6954 @13) +@6956 := proof(@3363 @6955) +@6957 := proof(@6953 @6956) +@6958 := proof(@2691 @6957) +@6959 := proof(@2691 @12) +@6960 := proof(@6959 @2693) +@6963 := proof(@2698 proof(@6952 proof(@6958 @6960))) +@6964 := proof(@2697 @6963) +@6965 := proof(@2716 @6963) +@6966 := proof(@2725 @6963) +@6968 := proof(proof(@2574 @6957) @12) +@6969 := proof(@2738 @6968) +@6970 := proof(@2574 @12) +@6971 := proof(@6970 @6957) +@6973 := proof(proof(@2574 @6971) @2667) +@6974 := proof(@6969 @6973) +@6975 := proof(@2729 @6974) +@6976 := proof(@2759 @2796) +@6977 := proof(@2768 @2795) +@6979 := proof(@2751 proof(@6976 @6977)) +@6980 := proof(@6979 @6963) +@6989 := proof(proof(proof(@6975 @6980) @552) + proof(proof(proof(@2775 @6968) @6973) proof(proof(proof(@2778 @6971) @6968) @28))) +@6990 := proof(@2784 @6974) +@6991 := proof(@2829 @6963) +@6992 := proof(@2738 @6991) +@6995 := proof(@2751 proof(proof(@2792 @2796) @2802)) +@6996 := proof(@6995 @6963) +@6999 := proof(proof(@6990 proof(@6992 @6996)) @6980) +@7003 := proof(proof(proof(proof(@2809 @6968) @6991) @6973) @6996) +@7004 := proof(@2784 @6968) +@7005 := proof(@2849 @6963) +@7006 := proof(@2574 @7005) +@7007 := proof(@2857 @6963) +@7010 := proof(proof(@7004 proof(@7006 @7007)) @6991) +@7014 := proof(proof(proof(proof(@2834 @6957) @7005) @12) @7007) +@7020 := proof(proof(proof(@2839 @7005) @6957) proof(proof(proof(@2868 @6951) @6957) @6960)) +@7021 := proof(@7014 @7020) +@7028 := proof(proof(proof(@2839 @7007) @12) + proof(proof(proof(proof(@2876 @6951) @6957) @12) @2693)) +@7030 := proof(@7010 proof(@7021 @7028)) +@7031 := proof(@2839 @6991) +@7032 := proof(@2885 @6963) +@7033 := proof(@2574 @7032) +@7034 := proof(@2888 @6963) +@7039 := proof(@7030 proof(proof(@7031 proof(@7033 @7034)) proof(@2894 @6963))) +@7040 := proof(@7003 @7039) +@7041 := proof(@2784 @6973) +@7044 := proof(@2751 proof(proof(@2792 @2827) @2824)) +@7045 := proof(@7044 @6963) +@7046 := proof(@2574 @7045) +@7047 := proof(@2921 @6963) +@7050 := proof(proof(@7041 proof(@7046 @7047)) @6996) +@7054 := proof(proof(proof(proof(@2834 @6971) @7045) @2667) @7047) +@7059 := proof(proof(proof(@2784 @6971) proof(proof(@2574 @7007) @7005)) @7045) +@7060 := proof(@2834 @12) +@7066 := proof(@7059 proof(proof(proof(proof(proof(@7060 @7007) @6957) @7005) @7028) @7020)) +@7070 := proof(proof(@2839 @7045) proof(proof(@2574 @7034) @7032)) +@7072 := proof(proof(@2892 @2827) @2824) +@7075 := proof(@7066 proof(@7070 proof(@7072 @6963))) +@7076 := proof(@7054 @7075) +@7079 := proof(proof(@350 proof(@2973 @7047)) @2977) +@7081 := proof(@7050 proof(@7076 @7079)) +@7082 := proof(@2839 @6996) +@7083 := proof(@2904 @6963) +@7086 := proof(@7082 proof(proof(@2574 @7083) @7047)) +@7088 := proof(proof(@2892 @2796) @2802) +@7090 := proof(@7086 proof(@7088 @6963)) +@7093 := proof(@6999 proof(@7040 proof(@7081 @7090))) +@7094 := proof(@2839 @6980) +@7095 := proof(@2738 @7083) +@7096 := proof(@2751 @6977) +@7099 := proof(@7094 proof(@7095 proof(@7096 @6963))) +@7101 := proof(proof(@3000 @2796) @6977) +@7103 := proof(@7099 proof(@7101 @6963)) +@7110 := proof(@6948 + proof(fun (h₁ : @6939) => + proof(@6964 proof(@6965 proof(@6966 proof(@6989 proof(@7093 @7103))))))) +@7111 := proof(@2738 @6971) +@7113 := proof(proof(@2574 @6968) @2667) +@7114 := proof(@7111 @7113) +@7160 := proof(fun {α : @197} => + proof(fun (c : @314) => + proof(fun (xs : @264) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#411426235._hygCtx._hyg.#64 : @6925) => + proof(@7110 + proof(fun (h₂ : @6942) => + proof(@6964 + proof(@6965 + proof(@6966 + proof(proof(proof(proof(proof(@2729 @7114) @6980) @552) + proof(proof(proof(@2775 @6971) @7113) + proof(proof(proof(@2778 @6968) @6971) @28))) + proof(proof(proof(proof(proof(@2784 @7114) + proof(proof(@2738 @7045) @6996)) + @6980) + proof(proof(proof(proof(proof(proof(@2809 @6971) @7045) @7113) + @6996) + @7075) + proof(proof(proof(proof(proof(@2784 @7113) + proof(proof(@2574 @6991) @7047)) + @6996) + proof(proof(proof(proof(proof(proof(@2834 @6968) + @6991) + @2667) + @7047) + @7039) + @7079)) + @7090))) + @7103))))))))))) +@7168 := {α : @197} -> + (c : @314) -> + (xs : @264) -> + @504 (@5603 (fun (x._@.LexLeanRuntime.Laws.#411426235._hygCtx._hyg.#14 : @13) => @13) @28) @6919 +@7172 := proof(@504 + proof(proof(@3073 + proof(fun (x._@.LexLeanRuntime.Laws.#411426235._hygCtx._hyg.#14 : @12) => @12)) + @28)) +@7173 := proof(@6931 @28) +@7178 := proof(@3890 proof(fun (xs : @265) => proof(@7172 proof(@6930 proof(@3363 @7173))))) +@7179 := proof(@504 @2558) +@7180 := @2496 @13 +@7183 := proof(@6915 proof(@3363 proof(@6916 @7180))) +@7184 := proof(@7179 @7183) +@7185 := proof(@401 @7184) +@7186 := proof(@406 @7184) +@7187 := proof(@7179 @2558) +@7189 := proof(proof(@7186 @7187) @410) +@7192 := proof(proof(proof(@3109 @7183) @2558) @7179) +@7193 := proof(Int.mul_zero) +@7196 := proof(@7189 proof(@7192 proof(@7193 @3))) +@7197 := proof(@3117 @2558) +@7200 := proof(@7178 proof(@7185 proof(@7196 @7197))) +@7202 := proof(@504 proof(@6950 @28)) +@7203 := proof(@6954 @28) +@7206 := proof(@7202 proof(@6953 proof(@3363 @7203))) +@7208 := proof(@2642 proof(fun (x._@.LexLeanRuntime.Laws.#411426235._hygCtx._hyg.#14 : @66) => @66)) +@7210 := proof(proof(@2502 @13) @3) +@7212 := proof(@504 proof(@7208 @7210)) +@7213 := proof(@6914 @19) +@7214 := proof(@304 @66) +@7215 := proof(@7214 @7210) +@7219 := proof(@350 proof(@7212 proof(@7213 proof(@3363 @7215)))) +@7220 := proof(@2574 @19) +@7221 := proof(@7208 @3) +@7223 := proof(@504 proof(@7220 @7221)) +@7224 := proof(@7214 @3) +@7226 := proof(proof(@3277 @7224) @107) +@7228 := proof(@7213 proof(@3363 @7226)) +@7229 := proof(@7223 @7228) +@7230 := proof(@3156 @7229) +@7231 := proof(@3363 @7224) +@7232 := proof(@7213 @7231) +@7233 := proof(@7220 @7232) +@7234 := proof(@504 @7233) +@7235 := proof(@7234 @7228) +@7236 := proof(@7230 @7235) +@7239 := proof(@350 proof(proof(@316 @7229) @7235)) +@7241 := proof(proof(@3109 @7221) @7232) +@7244 := proof(@504 proof(proof(@2574 @66) @28)) +@7245 := proof(@6914 @66) +@7247 := proof(proof(@304 @39) @13) +@7249 := proof(proof(@3277 @7247) @107) +@7257 := proof(@7236 + proof(@7239 + proof(proof(@7241 proof(fun (_a : @314) => proof(@7244 proof(@7245 proof(@3363 @7249))))) + @28))) +@7258 := proof(@3156 @7235) +@7259 := proof(@2574 @7232) +@7260 := proof(@7259 @19) +@7261 := proof(@7234 @7260) +@7262 := proof(@7258 @7261) +@7265 := proof(@350 proof(proof(@316 @7235) @7261)) +@7268 := proof(proof(proof(@3109 @7228) @7260) @7234) +@7272 := proof(@2784 proof(@7213 proof(proof(@2574 @7231) @2667))) +@7273 := proof(@7213 @2667) +@7276 := proof(proof(@7272 proof(@7259 @7273)) @7260) +@7277 := proof(Int.mul_add) +@7315 := proof(fun {α : @197} => + proof(fun (c : @314) => + proof(fun (xs : @264) => + proof(proof(@7200 + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (ih : @7206) => + proof(@7219 + proof(@7257 + proof(proof(@7262 + proof(@7265 + proof(@7268 + proof(proof(@7276 + proof(proof(proof(@7277 @19) @7231) @2667)) + proof(proof(proof(proof(proof(@496 @314) @7273) @19) + @7259) + proof(proof(Int.mul_one) @19)))))) + proof(proof(proof(@3195 @7261) proof(proof(@3197 @7233) @7260)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#411426235._hygCtx._hyg.#64 : proof(@547 + @7261)) => + proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_const._proof_1_4) + @39) + @66) + @13) + @28)))))))))) + @28)))) +@7317 := fun (x : @12) => @6953 @6379 +@7318 := @3073 @7317 +@7319 := @7318 @28 +@7320 := @504 @7319 +@7321 := @6930 @6387 +@7326 := {α : @197} -> (c : @314) -> (k : @5949) -> (xs : @265) -> @7320 @7321 +@7335 := proof(@3083 + proof(fun (xs : @235) => + proof(proof(@504 proof(proof(@2611 proof(fun (x : @19) => proof(@7213 @6377))) @28)) + proof(@6953 @5954)))) +@7337 := proof(@6930 proof(@6386 @2497)) +@7338 := proof(@7179 @7337) +@7351 := proof(@7335 + proof(proof(@401 @7338) + proof(proof(proof(proof(proof(@406 @7338) @7187) @410) + proof(proof(proof(proof(@3109 @7337) @2558) @7179) proof(@7193 @13))) + @7197))) +@7358 := proof(proof(@504 proof(proof(@2642 proof(fun (x : @66) => proof(@7245 @2515))) @28)) + proof(@7213 @6413)) +@7359 := proof(@6914 @39) +@7362 := proof(@2702 proof(fun (x : @39) => proof(@7359 @4127))) +@7367 := proof(@350 proof(proof(@504 proof(@7362 @5857)) proof(@7245 @6420))) +@7369 := proof(@2574 proof(@7245 @5969)) +@7370 := proof(@7362 @3) +@7372 := proof(@504 proof(@7369 @7370)) +@7373 := proof(@7245 @6432) +@7374 := proof(@7372 @7373) +@7375 := proof(@3156 @7374) +@7376 := proof(@7245 @6431) +@7377 := proof(@7369 @7376) +@7378 := proof(@504 @7377) +@7379 := proof(@7378 @7373) +@7380 := proof(@7375 @7379) +@7383 := proof(@350 proof(proof(@316 @7374) @7379)) +@7385 := proof(proof(@3109 @7370) @7376) +@7387 := proof(@2574 proof(@7359 @6007)) +@7396 := proof(@7380 + proof(@7383 + proof(proof(@7385 + proof(fun (_a : @314) => proof(proof(@504 proof(@7387 @28)) proof(@7359 @6454)))) + @28))) +@7397 := proof(@3156 @7379) +@7398 := proof(@7378 @7377) +@7429 := proof(fun {α : @197} => + proof(fun (c : @314) => + proof(fun (k : @5949) => + proof(fun (xs : @265) => + proof(proof(@7351 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @7358) => + proof(@7367 + proof(@7396 + proof(proof(proof(@7397 @7398) + proof(proof(@350 proof(proof(@316 @7379) @7398)) + proof(proof(proof(proof(@3109 @7373) @7377) + proof(fun (_a : @314) => + proof(proof(@504 proof(@7387 proof(@7359 @6453))) + @28))) + proof(proof(proof(@7277 @66) @5969) @6431)))) + proof(@2976 @7377)))))))) + @28))))) +@7432 := fun (x : @12) => @6914 @6379 @12 +@7433 := @3073 @7432 +@7434 := @7433 @28 +@7435 := @504 @7434 +@7437 := @6914 @6387 @13 +@7438 := @7435 @7437 +@7442 := {α : @197} -> (c : @314) -> (k : @5949) -> (xs : @265) -> @7438 +@7443 := proof(@3156 @7438) +@7444 := proof(@7435 @7321) +@7445 := proof(@7443 @7444) +@7448 := proof(@350 proof(proof(@316 @7438) @7444)) +@7450 := proof(proof(@3109 @7437) @7321) +@7458 := proof(fun (_a : @314) => + proof(proof(@504 proof(proof(@2611 proof(fun (x : @19) => proof(proof(@6914 @6377) @19))) @3)) + @28)) +@7459 := proof(@7450 @7458) +@7460 := proof(Int.mul_comm) +@7465 := proof(@7445 proof(@7448 proof(@7459 proof(proof(@7460 @6387) @13)))) +@7466 := proof(@3156 @7444) +@7467 := proof(@7435 @7319) +@7468 := proof(@7466 @7467) +@7471 := proof(@350 proof(proof(@316 @7444) @7467)) +@7474 := proof(proof(proof(@3109 @7321) @7319) @7458) +@7476 := proof(proof(@2839 @7319) @7321) +@7477 := proof(LexLeanLaws.sumInt_mul) +@7485 := proof(@7468 + proof(@7471 proof(@7474 proof(@7476 proof(proof(proof(proof(@7477 @12) @13) @3) @28))))) +@7486 := proof(@401 @7467) +@7490 := proof(proof(proof(@406 @7467) proof(@7320 @7319)) @410) +@7492 := proof(proof(@493 @7435) @7320) +@7495 := proof(proof(proof(@498 @7434) @7319) @504) +@7496 := proof(@491 @235) +@7499 := proof(proof(proof(@7496 @314) @7433) @7318) +@7506 := proof(proof(proof(proof(proof(@412 proof((x : @12) -> @314)) + proof((a._@._internal._hyg.#0 : @235) -> @314)) + @7432) + @7317) + @3073) +@7508 := proof(proof(funext.{1, 1}) @12) +@7532 := proof(fun {α : @197} => + proof(fun (c : @314) => + proof(fun (k : @5949) => + proof(fun (xs : @265) => + proof(@7465 + proof(@7485 + proof(@7486 + proof(proof(@7490 + proof(proof(@7492 + proof(@7495 + proof(proof(@7499 + proof(@7506 + proof(proof(proof(proof(@7508 + proof(fun (x : @12) => @314)) + @7432) + @7317) + proof(fun (x : @12) => + proof(proof(@7460 @6379) @12))))) + @28))) + @7319)) + proof(@3117 @7319))))))))) +@7541 := (c : @314) -> (xs : @3224) -> @504 (@3234 (fun (x : @314) => @6930 @28) @28) (@6915 @3237) +@7547 := proof(fun (c : @314) => + proof(fun (xs : @3224) => proof(proof(proof(proof(@7477 @314) @3) @3235) @28))) +@7549 := @2574 (@2722 @56) +@7550 := @2722 @3075 +@7555 := @547 (@504 (@7549 @7550) (@2722 @5591)) +@7560 := {α : @197} -> + (k : @2532) -> + (x : @3) -> + (xs : @265) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#1369261238._hygCtx._hyg.#74 : @7555) -> @324 +@7564 := proof(proof(@2574 proof(@2722 @14)) proof(@2722 @2624)) +@7565 := proof(@320 @7564) +@7566 := proof(@2722 @2628) +@7567 := proof(@7565 @7566) +@7568 := proof(@2638 @7567) +@7570 := proof(proof(@320 @7566) @7564) +@7576 := proof(proof(proof(@7568 @7570) @324) proof(proof(proof(@2656 @7564) @7566) @28)) +@7579 := proof(@2642 proof(fun (x : @66) => proof(@2722 @4127))) +@7580 := proof(@7579 @13) +@7585 := proof(@2698 proof(proof(@2691 @7580) proof(proof(@2691 @2644) @6010))) +@7586 := proof(@2697 @7585) +@7587 := proof(@2716 @7585) +@7588 := proof(@2725 @7585) +@7589 := proof(@2722 @2648) +@7590 := proof(@2738 @7589) +@7591 := proof(@2722 @20) +@7592 := proof(@2574 @7591) +@7593 := proof(@2722 @2644) +@7594 := proof(@7592 @7593) +@7596 := proof(proof(@2574 @7594) @2667) +@7597 := proof(@7590 @7596) +@7598 := proof(@2729 @7597) +@7599 := proof(@2692 @4746) +@7600 := proof(@2761 @7599) +@7601 := proof(@2759 @7600) +@7602 := proof(@2768 @7599) +@7605 := proof(proof(@2751 proof(@7601 @7602)) @7585) +@7614 := proof(proof(proof(@7598 @7605) @552) + proof(proof(proof(@2775 @7589) @7596) proof(proof(proof(@2778 @7594) @7589) @28))) +@7615 := proof(@2784 @7597) +@7618 := proof(proof(@2719 @2752) proof(Lean.Omega.LinearCombo.instNeg)) +@7621 := proof(proof(@2751 proof(@7618 @2796)) @7585) +@7622 := proof(@2738 @7621) +@7626 := proof(proof(@2751 proof(proof(@2792 @7600) @2802)) @7585) +@7629 := proof(proof(@7615 proof(@7622 @7626)) @7605) +@7633 := proof(proof(proof(proof(@2809 @7589) @7621) @7596) @7626) +@7634 := proof(@2784 @7589) +@7635 := proof(@7044 @7585) +@7638 := proof(proof(@7634 proof(@2722 @7635)) @7621) +@7639 := proof(Lean.Omega.Int.neg_congr) +@7641 := proof(proof(@7639 @2648) @7635) +@7642 := proof(@2784 @2648) +@7643 := proof(@2857 @7585) +@7644 := proof(@2574 @7643) +@7645 := proof(@2849 @7585) +@7648 := proof(proof(@7642 proof(@7644 @7645)) @7635) +@7651 := proof(proof(proof(@6157 @7643) @2644) @7645) +@7658 := proof(proof(proof(@2839 @7643) @20) + proof(proof(proof(proof(@2876 @7580) @2644) @20) @2693)) +@7659 := proof(@7651 @7658) +@7665 := proof(proof(proof(@2839 @7645) @2644) proof(proof(proof(@2868 @7580) @2644) @6010)) +@7667 := proof(@7648 proof(@7659 @7665)) +@7668 := proof(@2839 @7635) +@7669 := proof(@2888 @7585) +@7670 := proof(@2574 @7669) +@7671 := proof(@2885 @7585) +@7678 := proof(@7638 + proof(@7641 proof(@7667 proof(proof(@7668 proof(@7670 @7671)) proof(@7072 @7585))))) +@7682 := proof(proof(@2839 @7621) proof(@2722 proof(@2904 @7585))) +@7683 := proof(Lean.Omega.LinearCombo.neg_eval) +@7687 := proof(@7678 proof(@7682 proof(proof(@7683 @2796) @7585))) +@7688 := proof(@7633 @7687) +@7689 := proof(@2784 @7596) +@7690 := proof(@2692 @4745) +@7692 := proof(@2761 proof(@2692 @7690)) +@7693 := proof(@2792 @7692) +@7694 := proof(@2761 @7690) +@7697 := proof(proof(@2751 proof(@7693 @7694)) @7585) +@7698 := proof(@2574 @7697) +@7699 := proof(@2921 @7585) +@7702 := proof(proof(@7689 proof(@7698 @7699)) @7626) +@7706 := proof(proof(proof(proof(@2834 @7594) @7697) @2667) @7699) +@7707 := proof(@2784 @7594) +@7710 := proof(proof(@2751 proof(@7618 @2827)) @7585) +@7711 := proof(@2574 @7710) +@7713 := proof(@2751 proof(@7618 @2824)) +@7714 := proof(@7713 @7585) +@7717 := proof(proof(@7707 proof(@7711 @7714)) @7697) +@7737 := proof(proof(proof(proof(proof(@2834 @7591) @7710) @7593) @7714) + proof(proof(proof(proof(proof(@2784 @7591) proof(@2722 @7643)) @7710) + proof(proof(proof(@7639 @20) @7643) @7658)) + proof(proof(proof(@2839 @7710) proof(@2722 @7669)) proof(proof(@7683 @2827) @7585)))) +@7745 := proof(proof(proof(proof(@2784 @7593) proof(@2722 @7645)) @7714) + proof(proof(proof(@7639 @2644) @7645) @7665)) +@7748 := proof(proof(@2839 @7714) proof(@2722 @7671)) +@7749 := proof(@7683 @2824) +@7754 := proof(@7717 proof(@7737 proof(@7745 proof(@7748 proof(@7749 @7585))))) +@7755 := proof(@2839 @7697) +@7758 := proof(@2574 proof(proof(@2751 @7692) @7585)) +@7759 := proof(@2751 @7694) +@7767 := proof(@7754 + proof(proof(@7755 proof(@7758 proof(@7759 @7585))) + proof(proof(proof(@2892 @7692) @7694) @7585))) +@7768 := proof(@7706 @7767) +@7771 := proof(proof(@350 proof(@2973 @7699)) @2977) +@7773 := proof(@7702 proof(@7768 @7771)) +@7774 := proof(@2839 @7626) +@7776 := proof(proof(@2751 @7600) @7585) +@7783 := proof(proof(@7774 proof(proof(@2574 @7776) @7699)) + proof(proof(proof(@2892 @7600) @2802) @7585)) +@7786 := proof(@7629 proof(@7688 proof(@7773 @7783))) +@7796 := proof(proof(proof(@2839 @7605) proof(proof(@2738 @7776) proof(proof(@2751 @7602) @7585))) + proof(proof(proof(@3000 @7600) @7602) @7585)) +@7803 := proof(@7576 + proof(fun (h₁ : @7567) => + proof(@7586 proof(@7587 proof(@7588 proof(@7614 proof(@7786 @7796))))))) +@7804 := proof(@2738 @7594) +@7806 := proof(proof(@2574 @7589) @2667) +@7807 := proof(@7804 @7806) +@7854 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (x : @3) => + proof(fun (xs : @265) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#1369261238._hygCtx._hyg.#74 : @7555) => + proof(@7803 + proof(fun (h₂ : @7570) => + proof(@7586 + proof(@7587 + proof(@7588 + proof(proof(proof(proof(proof(@2729 @7807) @7605) @552) + proof(proof(proof(@2775 @7594) @7806) + proof(proof(proof(@2778 @7589) @7594) @28))) + proof(proof(proof(proof(proof(@2784 @7807) + proof(proof(@2738 @7697) @7626)) + @7605) + proof(proof(proof(proof(proof(proof(@2809 @7594) @7697) + @7806) + @7626) + @7767) + proof(proof(proof(proof(proof(@2784 @7806) + proof(proof(@2574 @7621) @7699)) + @7626) + proof(proof(proof(proof(proof(proof(@2834 @7589) + @7621) + @2667) + @7699) + @7687) + @7771)) + @7783))) + @7796)))))))))))) +@7857 := @5603 (fun (x : @13) => @2722 @6379) +@7864 := {α : @197} -> (k : @2532) -> (xs : @264) -> @504 (@7857 @28) (@2722 @5605) +@7875 := proof(proof(@3890 + proof(fun (xs : @265) => + proof(proof(@504 proof(proof(@3073 proof(fun (x : @12) => proof(@2722 @6377))) @28)) + @7550))) + proof(@2976 proof(@7857 @7180))) +@7882 := proof(proof(@504 proof(proof(@2611 proof(fun (x : @19) => proof(@2722 @2515))) @28)) + proof(@2722 @2613)) +@7888 := proof(@350 proof(proof(@504 proof(@7579 @7210)) proof(@2722 proof(@2643 @7210)))) +@7890 := proof(@2574 proof(@2722 @5969)) +@7891 := proof(@7579 @3) +@7893 := proof(@504 proof(@7890 @7891)) +@7894 := proof(@2722 @5979) +@7895 := proof(@7893 @7894) +@7896 := proof(@3156 @7895) +@7897 := proof(@2722 @3094) +@7898 := proof(@7890 @7897) +@7900 := proof(proof(@504 @7898) @7894) +@7940 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (xs : @264) => + proof(proof(@7875 + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (ih : @7882) => + proof(@7888 + proof(proof(proof(@7896 @7900) + proof(proof(@350 proof(proof(@316 @7895) @7900)) + proof(proof(proof(proof(@3109 @7891) @7897) + proof(fun (_a : @314) => + proof(proof(@504 + proof(proof(@2574 proof(@2722 @6007)) @28)) + proof(@2722 @6022)))) + @28))) + proof(proof(proof(@3195 @7900) proof(proof(@3197 @7898) @7894)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#1369261238._hygCtx._hyg.#74 : proof(@547 + @7900)) => + proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_neg._proof_1_4) + @39) + @66) + @12) + @13) + @28))))))))) + @28)))) +@7941 := @2722 @28 +@7948 := (xs : @3224) -> @504 (@3234 (fun (x : @314) => @7941) @28) (@2722 @3237) +@7953 := proof(fun (xs : @3224) => + proof(proof(proof(proof(LexLeanLaws.sumInt_neg) @314) @3235) @28)) +@7956 := proof(fun {α : @197} => proof(fun (k : @2532) => proof(@6900 @5577))) +@7962 := @547 (@504 (@2609 (@2627 @2613)) (@2627 @2614)) +@7968 := {α : @197} -> + (k : @2532) -> + (x : @3) -> + (y : @13) -> + (l : @235) -> (a._@._internal.#0.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#70 : @7962) -> @324 +@7970 := proof(@5970 proof(@2647 @3094)) +@7971 := proof(@320 @7970) +@7972 := proof(@2647 @5979) +@7973 := proof(@7971 @7972) +@7974 := proof(@2638 @7973) +@7976 := proof(proof(@320 @7972) @7970) +@7982 := proof(proof(proof(@7974 @7976) @324) proof(proof(proof(@2656 @7970) @7972) @28)) +@7983 := proof(@6003 @2693) +@7984 := proof(@6008 @7983) +@7986 := proof(@2698 proof(@2701 @7984)) +@7987 := proof(@2697 @7986) +@7988 := proof(@2716 @7986) +@7989 := proof(@2725 @7986) +@7990 := proof(@2740 @6022) +@7991 := proof(@2738 @7990) +@7992 := proof(@2740 @6002) +@7993 := proof(@6021 @7992) +@7995 := proof(proof(@2574 @7993) @2667) +@7996 := proof(@7991 @7995) +@7997 := proof(@2729 @7996) +@7998 := proof(@2771 @7986) +@8007 := proof(proof(proof(@7997 @7998) @552) + proof(proof(proof(@2775 @7990) @7995) proof(proof(proof(@2778 @7993) @7990) @28))) +@8008 := proof(@2784 @7996) +@8009 := proof(@2798 @7986) +@8010 := proof(@2738 @8009) +@8011 := proof(@2804 @7986) +@8014 := proof(proof(@8008 proof(@8010 @8011)) @7998) +@8018 := proof(proof(proof(proof(@2809 @7990) @8009) @7995) @8011) +@8019 := proof(@2784 @7990) +@8020 := proof(@2820 @7986) +@8021 := proof(@2574 @8020) +@8022 := proof(@2829 @7986) +@8025 := proof(proof(@8019 proof(@8021 @8022)) @8009) +@8026 := proof(@2862 @8020) +@8028 := proof(proof(@8026 @6022) @8022) +@8033 := proof(proof(proof(@2839 @8020) @2700) proof(proof(@2842 @2700) @7984)) +@8034 := proof(@8028 @8033) +@8035 := proof(@2849 @7986) +@8036 := proof(@2574 @8035) +@8037 := proof(@2857 @7986) +@8040 := proof(proof(@6096 proof(@8036 @8037)) @8022) +@8041 := proof(@6109 @8035) +@8043 := proof(proof(@8041 @6002) @8037) +@8049 := proof(proof(proof(@2839 @8035) @6007) proof(proof(proof(@2868 @2700) @6007) @7983)) +@8050 := proof(@8043 @8049) +@8057 := proof(proof(proof(@2839 @8037) @6002) + proof(proof(proof(proof(@2876 @2700) @6007) @6002) @2693)) +@8059 := proof(@8040 proof(@8050 @8057)) +@8060 := proof(@2839 @8022) +@8062 := proof(@2574 proof(@2885 @7986)) +@8063 := proof(@2888 @7986) +@8070 := proof(@8025 + proof(@8034 proof(@8059 proof(proof(@8060 proof(@8062 @8063)) proof(@2894 @7986))))) +@8071 := proof(@2839 @8009) +@8073 := proof(@2574 proof(@2901 @7986)) +@8080 := proof(@8018 + proof(@8070 proof(proof(@8071 proof(@8073 proof(@2904 @7986))) proof(@2909 @7986)))) +@8081 := proof(@2784 @7995) +@8082 := proof(@2761 @6054) +@8084 := proof(@2751 proof(@2825 @8082)) +@8085 := proof(@8084 @7986) +@8086 := proof(@2574 @8085) +@8087 := proof(@2921 @7986) +@8090 := proof(proof(@8081 proof(@8086 @8087)) @8011) +@8094 := proof(proof(proof(proof(@2834 @7993) @8085) @2667) @8087) +@8095 := proof(@2784 @7993) +@8097 := proof(@2751 proof(@2794 @2827)) +@8098 := proof(@8097 @7986) +@8101 := proof(proof(@8095 proof(@8036 @8098)) @8085) +@8104 := proof(proof(proof(@8041 @7992) @8098) @8049) +@8105 := proof(@2784 @7992) +@8113 := proof(proof(proof(@8105 proof(@8021 @8037)) @8098) + proof(proof(proof(proof(@8026 @6002) @8037) @8033) @8057)) +@8116 := proof(proof(@2839 @8098) proof(@8073 @8063)) +@8117 := proof(@2908 @2827) +@8122 := proof(@8101 proof(@8104 proof(@8113 proof(@8116 proof(@8117 @7986))))) +@8123 := proof(@2839 @8085) +@8124 := proof(@2751 @8082) +@8127 := proof(@8123 proof(@8062 proof(@8124 @7986))) +@8128 := proof(@2893 @8082) +@8137 := proof(@8090 + proof(proof(@8094 proof(@8122 proof(@8127 proof(@8128 @7986)))) + proof(proof(@350 proof(@2973 @8087)) @2977))) +@8138 := proof(@2839 @8011) +@8139 := proof(@2982 @7986) +@8161 := proof(@7982 + proof(fun (h₁ : @7973) => + proof(@7987 + proof(@7988 + proof(@7989 + proof(@8007 + proof(proof(@8014 + proof(@8080 + proof(@8137 + proof(proof(@8138 proof(proof(@2574 @8139) @8087)) + proof(@2988 @7986))))) + proof(proof(proof(@2839 @7998) + proof(proof(@2738 @8139) proof(@2996 @7986))) + proof(@3002 @7986))))))))) +@8162 := proof(@2701 @7983) +@8164 := proof(@2698 proof(@6008 @8162)) +@8165 := proof(@2697 @8164) +@8166 := proof(@2716 @8164) +@8167 := proof(@2725 @8164) +@8168 := proof(@2738 @7993) +@8170 := proof(proof(@2574 @7990) @2667) +@8171 := proof(@8168 @8170) +@8172 := proof(@2729 @8171) +@8173 := proof(@2771 @8164) +@8182 := proof(proof(proof(@8172 @8173) @552) + proof(proof(proof(@2775 @7993) @8170) proof(proof(proof(@2778 @7990) @7993) @28))) +@8183 := proof(@2784 @8171) +@8184 := proof(@2798 @8164) +@8185 := proof(@2738 @8184) +@8186 := proof(@2804 @8164) +@8189 := proof(proof(@8183 proof(@8185 @8186)) @8173) +@8193 := proof(proof(proof(proof(@2809 @7993) @8184) @8170) @8186) +@8194 := proof(@2820 @8164) +@8195 := proof(@2574 @8194) +@8196 := proof(@2829 @8164) +@8199 := proof(proof(@8095 proof(@8195 @8196)) @8184) +@8200 := proof(@6109 @8194) +@8202 := proof(proof(@8200 @7992) @8196) +@8207 := proof(proof(proof(@2839 @8194) @6007) proof(proof(@2842 @6007) @8162)) +@8208 := proof(@8202 @8207) +@8209 := proof(@2849 @8164) +@8210 := proof(@2574 @8209) +@8211 := proof(@2857 @8164) +@8214 := proof(proof(@8105 proof(@8210 @8211)) @8196) +@8215 := proof(@2862 @8209) +@8217 := proof(proof(@8215 @6002) @8211) +@8223 := proof(proof(proof(@2839 @8209) @2700) proof(proof(proof(@2868 @6007) @2700) @7983)) +@8224 := proof(@8217 @8223) +@8231 := proof(proof(proof(@2839 @8211) @6002) + proof(proof(proof(proof(@2876 @6007) @2700) @6002) @2693)) +@8233 := proof(@8214 proof(@8224 @8231)) +@8234 := proof(@2839 @8196) +@8236 := proof(@2574 proof(@2885 @8164)) +@8237 := proof(@2888 @8164) +@8244 := proof(@8199 + proof(@8208 proof(@8233 proof(proof(@8234 proof(@8236 @8237)) proof(@2894 @8164))))) +@8245 := proof(@2839 @8184) +@8247 := proof(@2574 proof(@2901 @8164)) +@8254 := proof(@8193 + proof(@8244 proof(proof(@8245 proof(@8247 proof(@2904 @8164))) proof(@2909 @8164)))) +@8255 := proof(@2784 @8170) +@8256 := proof(@8084 @8164) +@8257 := proof(@2574 @8256) +@8258 := proof(@2921 @8164) +@8261 := proof(proof(@8255 proof(@8257 @8258)) @8186) +@8265 := proof(proof(proof(proof(@2834 @7990) @8256) @2667) @8258) +@8266 := proof(@8097 @8164) +@8301 := proof(@8261 + proof(proof(@8265 + proof(proof(proof(proof(@8019 proof(@8210 @8266)) @8256) + proof(proof(proof(proof(@8215 @6022) @8266) @8223) + proof(proof(proof(proof(@6096 proof(@8195 @8211)) @8266) + proof(proof(proof(proof(@8200 @6002) @8211) @8207) @8231)) + proof(proof(proof(@2839 @8266) proof(@8247 @8237)) proof(@8117 @8164))))) + proof(proof(proof(@2839 @8256) proof(@8236 proof(@8124 @8164))) + proof(@8128 @8164)))) + proof(proof(@350 proof(@2973 @8258)) @2977))) +@8302 := proof(@2839 @8186) +@8303 := proof(@2982 @8164) +@8331 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (x : @3) => + proof(fun (y : @13) => + proof(fun (l : @235) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#70 : @7962) => + proof(@8161 + proof(fun (h₂ : @7976) => + proof(@8165 + proof(@8166 + proof(@8167 + proof(@8182 + proof(proof(@8189 + proof(@8254 + proof(@8301 + proof(proof(@8302 proof(proof(@2574 @8303) @8258)) + proof(@2988 @8164))))) + proof(proof(proof(@2839 @8173) + proof(proof(@2738 @8303) proof(@2996 @8164))) + proof(@3002 @8164))))))))))))))) +@8332 := List.Perm.{0} +@8335 := @8332 @12 @3 @28 +@8342 := {α : @197} -> (k : @2532) -> {xs : @264} -> {ys : @265} -> (h : @8335) -> @504 @6487 @2624 +@8344 := proof(proof(List.Perm.rec.{0}) @19) +@8347 := proof(proof(proof(@8332 @39) @3) @28) +@8356 := proof(proof(@8344 + proof(fun {xs : @2500} => + proof(fun {ys : @2522} => + proof(fun (h : @8347) => proof(proof(@504 @3166) proof(@3151 @3)))))) + proof(@2976 @3101)) +@8357 := proof(@8332 @81) +@8359 := proof(proof(@8357 @3) @28) +@8363 := proof(proof(@504 proof(@3184 @13)) proof(@3184 @3)) +@8365 := proof(proof(@2501 @76) @19) +@8366 := proof(@8365 @12) +@8368 := proof(@504 proof(@5793 @8366)) +@8369 := proof(@8365 @13) +@8372 := proof(@350 proof(@8368 proof(@5793 @8369))) +@8373 := proof(@48 @19) +@8374 := proof(@2574 @8373) +@8375 := proof(@5793 @12) +@8377 := proof(@504 proof(@8374 @8375)) +@8378 := proof(@5793 @13) +@8379 := proof(@8374 @8378) +@8380 := proof(@8377 @8379) +@8381 := proof(@3156 @8380) +@8383 := proof(proof(@504 @8379) @8379) +@8384 := proof(@8381 @8383) +@8387 := proof(@350 proof(proof(@316 @8380) @8383)) +@8389 := proof(proof(@3109 @8375) @8378) +@8390 := proof(@76 @66) +@8391 := proof(@2574 @8390) +@8393 := proof(@504 proof(@8391 @28)) +@8394 := proof(@5900 @12) +@8410 := proof(@8356 + proof(fun (x : @19) => + proof(fun {l₁._@.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#34 : @2522} => + proof(fun {l₂._@.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#35 : @3893} => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#36 : @8359) => + proof(fun (ih : @8363) => + proof(@8372 + proof(proof(@8384 + proof(@8387 + proof(proof(@8389 + proof(fun (_a : @314) => proof(@8393 proof(@8391 @8394)))) + @28))) + proof(@2976 @8379))))))))) +@8411 := proof(@3145 @3) +@8412 := proof(@3145 @13) +@8414 := proof(@8411 proof(@8412 @28)) +@8416 := proof(@504 proof(@3151 @8414)) +@8418 := proof(@8412 proof(@8411 @28)) +@8421 := proof(@350 proof(@8416 proof(@3151 @8418))) +@8422 := proof(@39 @13) +@8423 := proof(@2574 @8422) +@8425 := proof(@5728 proof(@8423 @5729)) +@8426 := proof(@504 @8425) +@8427 := proof(@8423 @5730) +@8428 := proof(@8426 @8427) +@8447 := proof(@8410 + proof(fun (x : @19) => + proof(fun (y : @66) => + proof(fun (l : @3893) => + proof(@8421 + proof(proof(proof(@3195 @8428) proof(proof(@3197 @8425) @8427)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#70 : proof(@547 + @8428)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_perm._proof_1_4) + @48) + @81) + @12) + @13) + @3) + @28)))))))) +@8449 := proof(proof(@8357 @13) @3) +@8452 := proof(proof(proof(@8332 @48) @13) @3) +@8455 := proof(proof(@504 proof(@5793 @19)) @8375) +@8458 := proof(proof(@504 proof(@5900 @19)) @8394) +@8460 := proof(proof(@2610 @4147) @4117) +@8484 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun {xs : @264} => + proof(fun {ys : @265} => + proof(fun (h : @8335) => + proof(proof(proof(proof(@8447 + proof(fun {l₁._@.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#71 : @2500} => + proof(fun {l₂._@.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#72 : @2522} => + proof(fun {l₃._@.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#73 : @3893} => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#74 : @8449) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3432326020._hygCtx._hyg.#75 : @8452) => + proof(fun (ih₁ : @8455) => + proof(fun (ih₂ : @8458) => + proof(proof(proof(proof(proof(@2784 proof(@8460 @39)) + proof(@8460 @66)) + proof(@8460 @19)) + @3) + @28))))))))) + @13) + @3) + @28)))))) +@8490 := {α : @197} -> (k : @2532) -> (xs : @264) -> @504 (@5604 @4558) @5605 +@8495 := proof(proof(proof(proof(proof(LexLeanLaws.sumInt_perm) @13) @3) @4558) @28) +@8498 := proof(proof(proof(List.reverse_perm.{0}) @13) @28) +@8502 := proof(fun {α : @197} => + proof(fun (k : @2532) => proof(fun (xs : @264) => proof(@8495 @8498)))) +@8505 := @2574 (@2738 @2608 @56) +@8507 := @2738 @2613 @5954 +@8513 := @547 (@504 (@8505 @8507) (@2738 @2614 @5959)) +@8519 := {α : @197} -> + (k : @2532) -> + (l : @5949) -> + (x : @13) -> + (xs : @235) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#2039093648._hygCtx._hyg.#82 : @8513) -> @324 +@8525 := proof(proof(@2574 proof(proof(@2738 @5969) @14)) proof(proof(@2738 @3094) @5975)) +@8526 := proof(@320 @8525) +@8528 := proof(proof(@2738 @5979) @5981) +@8529 := proof(@8526 @8528) +@8530 := proof(@2638 @8529) +@8532 := proof(proof(@320 @8528) @8525) +@8538 := proof(proof(proof(@8530 @8532) @324) proof(proof(proof(@2656 @8525) @8528) @28)) +@8542 := proof(@2702 proof(fun (x : @39) => proof(proof(@2738 @3086) @4127))) +@8543 := proof(@8542 @13) +@8546 := proof(@2698 proof(proof(@2691 @8543) @6013)) +@8547 := proof(@5995 @8546) +@8548 := proof(@6017 @8546) +@8549 := proof(@6019 @8546) +@8551 := proof(proof(@2738 @6022) @6024) +@8552 := proof(@2738 @8551) +@8554 := proof(proof(@2738 @6007) @20) +@8555 := proof(@2574 @8554) +@8557 := proof(proof(@2738 @6002) @6005) +@8558 := proof(@8555 @8557) +@8560 := proof(proof(@2574 @8558) @2667) +@8561 := proof(@8552 @8560) +@8562 := proof(@2729 @8561) +@8565 := proof(@2692 proof(@2762 proof(@4744 @4803))) +@8566 := proof(@2761 @8565) +@8567 := proof(@2759 @8566) +@8568 := proof(@2768 @8565) +@8571 := proof(proof(@2751 proof(@8567 @8568)) @8546) +@8580 := proof(proof(proof(@8562 @8571) @552) + proof(proof(proof(@2775 @8551) @8560) proof(proof(proof(@2778 @8558) @8551) @28))) +@8581 := proof(@2784 @8561) +@8585 := proof(proof(@2751 proof(proof(@2759 @6056) @6059)) @8546) +@8586 := proof(@2738 @8585) +@8590 := proof(proof(@2751 proof(proof(@2792 @8566) @2802)) @8546) +@8593 := proof(proof(@8581 proof(@8586 @8590)) @8571) +@8597 := proof(proof(proof(proof(@2809 @8551) @8585) @8560) @8590) +@8598 := proof(@2784 @8551) +@8599 := proof(@6080 @8546) +@8600 := proof(@2738 @8599) +@8601 := proof(@6087 @8546) +@8604 := proof(proof(@8598 proof(@8600 @8601)) @8585) +@8608 := proof(proof(proof(proof(@2809 @6022) @8599) @6024) @8601) +@8609 := proof(@6102 @8546) +@8610 := proof(@2574 @8609) +@8611 := proof(@2849 @8546) +@8614 := proof(proof(@6096 proof(@8610 @8611)) @8599) +@8617 := proof(proof(proof(@6109 @8609) @6002) @8611) +@8625 := proof(proof(proof(@2839 @8609) @6007) + proof(proof(proof(proof(proof(@6115 @8543) @6002) @6005) @6007) @6010)) +@8626 := proof(@8617 @8625) +@8632 := proof(proof(proof(@2839 @8611) @6002) proof(proof(proof(@2868 @8543) @6002) @6012)) +@8634 := proof(@8614 proof(@8626 @8632)) +@8635 := proof(@2839 @8599) +@8636 := proof(@6132 @8546) +@8637 := proof(@2574 @8636) +@8638 := proof(@2885 @8546) +@8644 := proof(@8608 proof(@8634 proof(proof(@8635 proof(@8637 @8638)) proof(@6139 @8546)))) +@8645 := proof(@6150 @8546) +@8646 := proof(@2574 @8645) +@8647 := proof(@2857 @8546) +@8650 := proof(proof(@6144 proof(@8646 @8647)) @8601) +@8653 := proof(proof(proof(@6157 @8645) @6005) @8647) +@8662 := proof(proof(proof(@2839 @8645) @20) + proof(proof(proof(proof(proof(proof(@6163 @8543) @6002) @6005) @6007) @20) @2693)) +@8663 := proof(@8653 @8662) +@8670 := proof(proof(proof(@2839 @8647) @6005) + proof(proof(proof(proof(@2876 @8543) @6002) @6005) @6011)) +@8672 := proof(@8650 proof(@8663 @8670)) +@8673 := proof(@2839 @8601) +@8674 := proof(@6182 @8546) +@8675 := proof(@2574 @8674) +@8676 := proof(@2888 @8546) +@8694 := proof(proof(@8604 + proof(@8644 proof(@8672 proof(proof(@8673 proof(@8675 @8676)) proof(@6189 @8546))))) + proof(proof(proof(@2839 @8585) proof(proof(@2738 proof(@6196 @8546)) proof(@6199 @8546))) + proof(proof(proof(@3000 @6056) @6059) @8546))) +@8695 := proof(@8597 @8694) +@8696 := proof(@2784 @8560) +@8697 := proof(@2692 @4803) +@8700 := proof(@2761 proof(@2692 proof(@2692 @8697))) +@8701 := proof(@2792 @8700) +@8702 := proof(@2761 @8697) +@8705 := proof(proof(@2751 proof(@8701 @8702)) @8546) +@8706 := proof(@2574 @8705) +@8707 := proof(@2921 @8546) +@8710 := proof(proof(@8696 proof(@8706 @8707)) @8590) +@8714 := proof(proof(proof(proof(@2834 @8558) @8705) @2667) @8707) +@8715 := proof(@2784 @8558) +@8719 := proof(proof(@2751 proof(proof(@2759 @6077) @6084)) @8546) +@8720 := proof(@2574 @8719) +@8721 := proof(@2759 @2824) +@8724 := proof(proof(@2751 proof(@8721 @2827)) @8546) +@8727 := proof(proof(@8715 proof(@8720 @8724)) @8705) +@8753 := proof(proof(proof(proof(proof(@2834 @8554) @8719) @8557) @8724) + proof(proof(proof(proof(proof(@2784 @8554) proof(proof(@2738 @8609) @8645)) @8719) + proof(proof(proof(proof(proof(proof(@2809 @6007) @8609) @20) @8645) @8625) @8662)) + proof(proof(proof(@2839 @8719) proof(proof(@2738 @8636) @8674)) + proof(proof(proof(@3000 @6077) @6084) @8546)))) +@8765 := proof(proof(proof(proof(@2784 @8557) proof(proof(@2738 @8611) @8647)) @8724) + proof(proof(proof(proof(proof(proof(@2809 @6002) @8611) @6005) @8647) @8632) @8670)) +@8769 := proof(proof(@2839 @8724) proof(proof(@2738 @8638) @8676)) +@8770 := proof(@3000 @2824) +@8789 := proof(proof(@8727 proof(@8753 proof(@8765 proof(@8769 proof(proof(@8770 @2827) @8546))))) + proof(proof(proof(@2839 @8705) + proof(proof(@2574 proof(proof(@2751 @8700) @8546)) proof(proof(@2751 @8702) @8546))) + proof(proof(proof(@2892 @8700) @8702) @8546))) +@8790 := proof(@8714 @8789) +@8793 := proof(proof(@350 proof(@2973 @8707)) @2977) +@8795 := proof(@8710 proof(@8790 @8793)) +@8796 := proof(@2839 @8590) +@8798 := proof(proof(@2751 @8566) @8546) +@8805 := proof(proof(@8796 proof(proof(@2574 @8798) @8707)) + proof(proof(proof(@2892 @8566) @2802) @8546)) +@8808 := proof(@8593 proof(@8695 proof(@8795 @8805))) +@8818 := proof(proof(proof(@2839 @8571) proof(proof(@2738 @8798) proof(proof(@2751 @8568) @8546))) + proof(proof(proof(@3000 @8566) @8568) @8546)) +@8825 := proof(@8538 + proof(fun (h₁ : @8529) => + proof(@8547 proof(@8548 proof(@8549 proof(@8580 proof(@8808 @8818))))))) +@8826 := proof(@2738 @8558) +@8828 := proof(proof(@2574 @8551) @2667) +@8829 := proof(@8826 @8828) +@8877 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (l : @5949) => + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#2039093648._hygCtx._hyg.#82 : @8513) => + proof(@8825 + proof(fun (h₂ : @8532) => + proof(@8547 + proof(@8548 + proof(@8549 + proof(proof(proof(proof(proof(@2729 @8829) @8571) @552) + proof(proof(proof(@2775 @8558) @8828) + proof(proof(proof(@2778 @8551) @8558) @28))) + proof(proof(proof(proof(proof(@2784 @8829) + proof(proof(@2738 @8705) @8590)) + @8571) + proof(proof(proof(proof(proof(proof(@2809 @8558) @8705) + @8828) + @8590) + @8789) + proof(proof(proof(proof(proof(@2784 @8828) + proof(proof(@2574 @8585) @8707)) + @8590) + proof(proof(proof(proof(proof(proof(@2834 @8551) + @8585) + @2667) + @8707) + @8694) + @8793)) + @8805))) + @8818))))))))))))) +@8881 := @3073 (fun (x : @12) => @2738 @6377 @6379) +@8890 := {α : @197} -> + (k : @2532) -> (l : @5949) -> (xs : @265) -> @504 (@8881 @28) (@2738 @3075 @6387) +@8902 := proof(proof(@3083 + proof(fun (xs : @235) => + proof(proof(@504 + proof(proof(@2611 proof(fun (x : @19) => proof(proof(@2738 @2515) @6377))) @28)) + @8507))) + proof(@2976 proof(@8881 @2497))) +@8911 := proof(proof(@504 + proof(proof(@2642 proof(fun (x : @66) => proof(proof(@2738 @4127) @2515))) @28)) + proof(proof(@2738 @5631) @6413)) +@8917 := proof(@350 proof(proof(@504 proof(@8542 @5857)) proof(proof(@2738 @6418) @6420))) +@8920 := proof(@2574 proof(proof(@2738 @2575) @5969)) +@8921 := proof(@8542 @3) +@8923 := proof(@504 proof(@8920 @8921)) +@8925 := proof(proof(@2738 @6429) @6432) +@8926 := proof(@8923 @8925) +@8927 := proof(@3156 @8926) +@8929 := proof(proof(@2738 @3133) @6431) +@8930 := proof(@8920 @8929) +@8932 := proof(proof(@504 @8930) @8925) +@8976 := proof(fun {α : @197} => + proof(fun (k : @2532) => + proof(fun (l : @5949) => + proof(fun (xs : @265) => + proof(proof(@8902 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @8911) => + proof(@8917 + proof(proof(proof(@8927 @8932) + proof(proof(@350 proof(proof(@316 @8926) @8932)) + proof(proof(proof(proof(@3109 @8921) @8929) + proof(fun (_a : @314) => + proof(proof(@504 + proof(proof(@2574 proof(proof(@2738 @3160) @6007)) + @28)) + proof(proof(@2738 @3167) @6454)))) + @28))) + proof(proof(proof(@3195 @8932) proof(proof(@3197 @8930) @8925)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#2039093648._hygCtx._hyg.#82 : proof(@547 + @8932)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumInt_sub._proof_1_4) + @81) + @39) + @66) + @12) + @13) + @28))))))))) + @28))))) +@8987 := fun {α : @197} => + fun (k : @3249) => + fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @264) => + annot [sunfoldMatch := bool true] + (@3303 + (fun ("_" : @216) => annot [sunfoldMatchAlt := bool true] @2818) + (fun (x : @13) => fun (xs : @235) => annot [sunfoldMatchAlt := bool true] @3311)) +@8998 := fun {α : @197} => + fun (k : @3249) => + fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @264) => + @3305 (fun (x : @13) => fun (xs : @235) => @3306 (LexLeanLaws.sumNat._unsafe_rec @19 @12 @28)) +@9001 := @3307 @3 @28 @5576 +@9005 := {α : @197} -> (k : @3249) -> @44 @9001 @2818 +@9008 := proof(fun {α : @197} => proof(fun (k : @3249) => proof(@144 @9001))) +@9009 := @3662 @5587 +@9010 := @44 @9009 +@9011 := @3277 @56 +@9014 := (xs : @265) -> @9010 (@9011 @3663) +@9017 := {α : @197} -> (k : @3249) -> (x_1 : @3) -> @9014 +@9022 := proof(fun {α : @197} => + proof(fun (k : @3249) => proof(fun (x_1 : @3) => proof(fun (xs : @265) => proof(@144 @9009))))) +@9023 := @3307 @13 +@9024 := @9023 @3 +@9025 := @9024 @28 +@9027 := @44 @9025 @3314 +@9030 := {α : @197} -> + (k : @3249) -> (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @264) -> @9027 +@9031 := proof(@350 @9027) +@9035 := proof(proj PProd PProd.snd 1 proof(proof(proof(@5613 @3250) @28) @3296)) +@9036 := proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @235) => @43) +@9038 := proof(proof(@5618 @9036) @3) +@9040 := proof(proof(@3294 @12) @13) +@9041 := proof(@9038 @9040) +@9042 := proof(@44 @9041) +@9046 := proof(proof(proof(@2543 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @235) => + @43)) + @3) + @3304) +@9047 := proof(@3277 @4087) +@9048 := proof(@3339 @28) +@9052 := proof(@9046 proof(fun (x : @12) => proof(fun (xs : @2500) => proof(@9047 @9048)))) +@9053 := proof(@9042 @9052) +@9054 := proof(@3156 @9053) +@9066 := proof(fun (x : @43) => + proof(@3684 + proof(proof(proof(proof(@5638 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @2500) => + @43)) + @13) + @3304) + proof(fun (x : @19) => + proof(fun (xs : @2522) => proof(proof(@3277 @5643) proof(@3369 @28))))))) +@9067 := proof(@9040 @3) +@9069 := proof(@9066 proof(@9067 @28)) +@9087 := proof(proof(@9054 @9069) + proof(proof(@350 proof(proof(@316 @9053) @9069)) + proof(proof(proof(proof(@3739 @9041) + proof(@9067 + proof(proj PProd PProd.snd 1 proof(proof(proof(@5660 @9036) @3) @9040)))) + @9066) + proof(proof(proof(@5669 @9036) @3) @9040)))) +@9088 := proof(@350 @9069) +@9091 := proof(@350 proof(proof(@44 @3284) @9052)) +@9092 := proof(@5691 @43) +@9094 := proof(fun (tail_ih : @197) => proof(@9092 @28)) +@9102 := proof(proof(@5684 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @2522) => + proof((x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : proof(proof(@5690 + proof(fun (head : @39) => proof(fun (tail : @3954) => @9094))) + @28)) -> + @43))) + @12) +@9104 := proof(fun ("_" : @216) => + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : @5689) => @2818)) +@9105 := proof(@9102 @9104) +@9109 := proof(proof(@5709 proof(fun (head : @81) => proof(fun (tail : @3979) => @9094))) @28) +@9118 := proof(@44 + proof(proof(@9105 + proof(fun (x : @66) => + proof(fun (xs : @3893) => + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : proof(@9092 + @9109)) => + proof(proof(@3277 @5715) @2577))))) + @13)) +@9122 := proof(proof(proof(@5684 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @2522) => + @43)) + @12) + @3304) +@9123 := proof(@3277 @40) +@9124 := proof(@3713 @28) +@9125 := proof(@9123 @9124) +@9133 := proof(proof(@5681 + proof(fun (x : @235) => + proof((h : @5683) -> + proof(@9118 proof(@9122 proof(fun (x : @66) => proof(fun (xs : @3893) => @9125))))))) + @3) +@9134 := proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @3893) => @43) +@9135 := proof(@5743 @9134) +@9136 := proof(@9135 @28) +@9137 := proof(@5747 @9134) +@9138 := proof(@9137 @28) +@9140 := proof(proof(@3294 @39) @66) +@9142 := proof(proj PProd PProd.snd 1 proof(@9138 @9140)) +@9146 := proof(proof(@5758 proof(fun (head : @48) => proof(fun (tail : @4145) => @9094))) @28) +@9149 := proof(@5754 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @3954) => + proof((x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : @9146) -> @43))) +@9151 := proof(proof(@9149 @3) @9104) +@9155 := proof(proof(@5771 proof(fun (head : @76) => proof(fun (tail : @5772) => @9094))) @28) +@9161 := proof(fun (x : @81) => + proof(fun (xs : @3979) => + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : proof(@9092 @9155)) => + proof(proof(@3277 @5778) @2577)))) +@9164 := proof(@44 proof(proof(@9151 @9161) @28)) +@9166 := proof(@5754 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @3954) => + @43)) +@9168 := proof(proof(@9166 @3) @3304) +@9169 := proof(@3277 @4215) +@9171 := proof(proof(@3307 @76) @48) +@9175 := proof(fun (x : @81) => proof(fun (xs : @3979) => proof(@9169 proof(@9171 @28)))) +@9222 := proof(@9133 + proof(fun ("_" : @216) => + proof(fun (h : @5739) => + proof(proof(proof(proof(@5742 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @2522) => + proof(let r : @9136 := @9142; proof(@9164 proof(@9168 @9175))))) + proof(let r : proof(@3269 + @5741) := proof(proj PProd PProd.snd 1 + proof(proof(proof(@5804 @3268) @5741) proof(proof(@3294 @66) @19))); + proof(proof(@350 + proof(proof(@44 + proof(proof(proof(proof(proof(@5811 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @3893) => + proof((x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : @9109) -> + @43))) + @3904) + @9104) + proof(fun (x : @39) => + proof(fun (xs : @3954) => + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : proof(@9092 + @9146)) => + proof(proof(@3277 @5818) @2577))))) + @28)) + proof(proof(proof(proof(@5811 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @3893) => + @43)) + @3904) + @3304) + proof(fun (x : @39) => + proof(fun (xs : @3954) => + proof(proof(@3277 @5831) proof(@3744 @28))))))) + proof(@144 @2818)))) + @12) + @5848)))) +@9223 := proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @3954) => @43) +@9225 := proof(proof(@5859 @9223) @28) +@9231 := proof(proj PProd PProd.snd 1 + proof(proof(proof(@5863 @9223) @28) proof(proof(@3294 @81) @39))) +@9249 := proof(@44 + proof(proof(proof(proof(proof(@5870 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @3979) => + proof((x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : @9155) -> @43))) + @3) + @9104) + proof(fun (x : @48) => + proof(fun (xs : @4145) => + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#49 : proof(@9092 + proof(proof(@5879 + proof(fun (head : @4117) => proof(fun (tail : @5880) => @9094))) + @28))) => + proof(proof(@3277 @4511) @2577))))) + @28)) +@9253 := proof(proof(proof(@5870 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx.#10.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#21 : @3979) => + @43)) + @3) + @3304) +@9254 := proof(@3277 @4478) +@9256 := proof(proof(@3307 @4117) @76) +@9299 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @264) => + proof(@9031 + proof(let r : @3252 := @9035; + proof(@9087 + proof(@9088 + proof(@9091 + proof(proof(@9222 + proof(fun (x_1 : @12) => + proof(fun (xs : @2500) => + proof(fun (h : @5854) => + proof(proof(proof(proof(@5858 + proof(fun (x._@.LexLeanRuntime.Laws.#2002338548._hygCtx._hyg.#10 : @3893) => + proof(let r : @9225 := @9231; + proof(@9249 + proof(@9253 + proof(fun (x : @48) => + proof(fun (xs : @4145) => + proof(@9254 proof(@9256 @28))))))))) + proof(let r : proof(@9135 + @5857) := proof(proj PProd PProd.snd 1 + proof(proof(@9137 @5857) @9140)); + proof(proof(@350 + proof(proof(@44 + proof(proof(proof(proof(@9149 @3147) + @9104) + @9161) + @28)) + proof(proof(proof(@9166 @3147) @3304) + @9175))) + proof(@144 proof(@3725 @2577))))) + @19) + @5933))))) + @5939))))))))) +@9300 := (a._@._internal._hyg.#0 : @3) -> @43 +@9302 := @3277 (@3306 @56) +@9303 := @3277 @3310 +@9305 := @3308 @13 @28 +@9306 := @9303 @9305 +@9308 := @44 (@9302 @9306) +@9309 := @3277 @3311 +@9313 := @547 (@9308 (@9309 (@9011 @9305))) +@9319 := {α : @197} -> + (k : @3249) -> + (l : @9300) -> + (x : @13) -> + (xs : @235) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#1909620848._hygCtx._hyg.#82 : @9313) -> @324 +@9320 := proof(@3277 @5969) +@9322 := proof(@3277 proof(@9320 @14)) +@9323 := proof(@3277 @3678) +@9324 := proof(@3338 @12) +@9325 := proof(@9324 @3) +@9327 := proof(@9322 proof(@9323 @9325)) +@9328 := proof(@1433 @9327) +@9329 := proof(@9320 @3678) +@9330 := proof(@3277 @9329) +@9332 := proof(@9330 proof(@3324 @9325)) +@9333 := proof(@9328 @9332) +@9334 := proof(@2638 @9333) +@9336 := proof(proof(@3350 @9327) @9332) +@9342 := proof(proof(proof(@9334 @9336) @324) proof(proof(proof(@3355 @9327) @9332) @28)) +@9346 := proof(@3368 proof(fun (x : @39) => proof(proof(@3277 @3086) @4127))) +@9348 := proof(@3363 proof(@9346 @13)) +@9349 := proof(@2691 @9348) +@9350 := proof(@3369 @13) +@9351 := proof(@3363 @9350) +@9352 := proof(@2691 @9351) +@9353 := proof(@3368 @19) +@9354 := proof(@9353 @13) +@9355 := proof(@3363 @9354) +@9356 := proof(@2691 @9355) +@9357 := proof(@3363 @6007) +@9358 := proof(@2691 @9357) +@9359 := proof(@3363 @20) +@9361 := proof(proof(@2691 @9359) @2693) +@9362 := proof(@9358 @9361) +@9363 := proof(@9356 @9362) +@9366 := proof(@2698 proof(@9349 proof(@9352 @9363))) +@9367 := proof(@5995 @9366) +@9368 := proof(@6017 @9366) +@9369 := proof(@6019 @9366) +@9370 := proof(@3277 @6007) +@9371 := proof(@9370 @9350) +@9372 := proof(@3277 @9371) +@9373 := proof(@3343 @9354) +@9374 := proof(@9372 @9373) +@9375 := proof(@3363 @9374) +@9376 := proof(@2738 @9375) +@9377 := proof(@9370 @20) +@9378 := proof(@3277 @9377) +@9379 := proof(@3277 @9350) +@9380 := proof(@9379 @9354) +@9381 := proof(@9378 @9380) +@9382 := proof(@3363 @9381) +@9384 := proof(proof(@2574 @9382) @2667) +@9385 := proof(@9376 @9384) +@9386 := proof(@2729 @9385) +@9387 := proof(@6042 @9366) +@9399 := proof(proof(proof(@9386 @9387) @552) + proof(proof(proof(@2775 @9375) @9384) + proof(proof(proof(@2778 @9382) @9375) proof(proof(proof(@3401 @9381) @9374) @28)))) +@9400 := proof(@2784 @9385) +@9401 := proof(@6061 @9366) +@9402 := proof(@2738 @9401) +@9403 := proof(@6066 @9366) +@9406 := proof(proof(@9400 proof(@9402 @9403)) @9387) +@9410 := proof(proof(proof(proof(@2809 @9375) @9401) @9384) @9403) +@9411 := proof(@2784 @9375) +@9412 := proof(@3363 @9371) +@9413 := proof(@2574 @9412) +@9414 := proof(@3363 @9373) +@9415 := proof(@9413 @9414) +@9417 := proof(proof(@9411 @9415) @9401) +@9418 := proof(@3425 @9371) +@9420 := proof(@9417 proof(@9418 @9373)) +@9421 := proof(@2784 @9415) +@9422 := proof(@6080 @9366) +@9423 := proof(@2574 @9422) +@9424 := proof(@6087 @9366) +@9427 := proof(proof(@9421 proof(@9423 @9424)) @9401) +@9428 := proof(@2834 @9412) +@9431 := proof(proof(proof(@9428 @9422) @9414) @9424) +@9432 := proof(@2784 @9412) +@9433 := proof(@2574 @9357) +@9434 := proof(@9433 @9351) +@9435 := proof(@9432 @9434) +@9436 := proof(@9435 @9422) +@9437 := proof(@3425 @6007) +@9438 := proof(@9437 @9350) +@9439 := proof(@9436 @9438) +@9440 := proof(@2784 @9434) +@9441 := proof(@6102 @9366) +@9442 := proof(@2574 @9441) +@9443 := proof(@2849 @9366) +@9446 := proof(proof(@9440 proof(@9442 @9443)) @9422) +@9447 := proof(@2834 @9357) +@9448 := proof(@9447 @9441) +@9450 := proof(proof(@9448 @9351) @9443) +@9458 := proof(proof(proof(@2839 @9441) @9357) + proof(proof(proof(proof(proof(@6115 @9348) @9351) @9355) @9357) @9361)) +@9459 := proof(@9450 @9458) +@9465 := proof(proof(proof(@2839 @9443) @9351) proof(proof(proof(@2868 @9348) @9351) @9363)) +@9467 := proof(@9446 proof(@9459 @9465)) +@9468 := proof(@2839 @9422) +@9470 := proof(@2574 proof(@6132 @9366)) +@9471 := proof(@2885 @9366) +@9478 := proof(@9431 + proof(@9439 proof(@9467 proof(proof(@9468 proof(@9470 @9471)) proof(@6139 @9366))))) +@9479 := proof(@2784 @9414) +@9481 := proof(proof(@2574 @9359) @9355) +@9486 := proof(proof(proof(@9479 @9481) @9424) proof(proof(@3425 @20) @9354)) +@9487 := proof(@2784 @9481) +@9488 := proof(@6150 @9366) +@9489 := proof(@2574 @9488) +@9490 := proof(@2857 @9366) +@9493 := proof(proof(@9487 proof(@9489 @9490)) @9424) +@9497 := proof(proof(proof(proof(@2834 @9359) @9488) @9355) @9490) +@9506 := proof(proof(proof(@2839 @9488) @9359) + proof(proof(proof(proof(proof(proof(@6163 @9348) @9351) @9355) @9357) @9359) @2693)) +@9507 := proof(@9497 @9506) +@9514 := proof(proof(proof(@2839 @9490) @9355) + proof(proof(proof(proof(@2876 @9348) @9351) @9355) @9362)) +@9516 := proof(@9493 proof(@9507 @9514)) +@9517 := proof(@2839 @9424) +@9518 := proof(@6182 @9366) +@9519 := proof(@2574 @9518) +@9520 := proof(@2888 @9366) +@9538 := proof(@9420 + proof(proof(@9427 + proof(@9478 + proof(@9486 + proof(@9516 proof(proof(@9517 proof(@9519 @9520)) proof(@6189 @9366)))))) + proof(proof(proof(@2839 @9401) proof(proof(@2574 proof(@6196 @9366)) proof(@6199 @9366))) + proof(@6204 @9366)))) +@9539 := proof(@9410 @9538) +@9540 := proof(@2784 @9384) +@9541 := proof(@6215 @9366) +@9542 := proof(@2574 @9541) +@9543 := proof(@2921 @9366) +@9546 := proof(proof(@9540 proof(@9542 @9543)) @9403) +@9550 := proof(proof(proof(proof(@2834 @9382) @9541) @2667) @9543) +@9551 := proof(@2784 @9382) +@9552 := proof(@3363 @9377) +@9553 := proof(@2574 @9552) +@9554 := proof(@3363 @9380) +@9555 := proof(@9553 @9554) +@9560 := proof(proof(proof(@9551 @9555) @9541) proof(proof(@3425 @9377) @9380)) +@9561 := proof(@2784 @9555) +@9562 := proof(@6228 @9366) +@9563 := proof(@2574 @9562) +@9564 := proof(@2829 @9366) +@9567 := proof(proof(@9561 proof(@9563 @9564)) @9541) +@9571 := proof(proof(proof(proof(@2834 @9552) @9562) @9554) @9564) +@9572 := proof(@2784 @9552) +@9573 := proof(@9433 @9359) +@9594 := proof(@9571 + proof(proof(proof(proof(@9572 @9573) @9562) proof(@9437 @20)) + proof(proof(proof(proof(proof(@2784 @9573) proof(@9442 @9488)) @9562) + proof(proof(proof(proof(@9448 @9359) @9488) @9458) @9506)) + proof(proof(proof(@2839 @9562) proof(@9470 @9518)) proof(@6251 @9366))))) +@9595 := proof(@2784 @9554) +@9596 := proof(@2574 @9351) +@9597 := proof(@9596 @9355) +@9599 := proof(proof(@9595 @9597) @9564) +@9600 := proof(@3425 @9350) +@9602 := proof(@9599 proof(@9600 @9354)) +@9607 := proof(proof(proof(@2784 @9597) proof(proof(@2574 @9443) @9490)) @9564) +@9608 := proof(@2834 @9351) +@9634 := proof(@9560 + proof(proof(@9567 + proof(@9594 + proof(@9602 + proof(proof(@9607 + proof(proof(proof(proof(proof(@9608 @9443) @9355) @9490) @9465) @9514)) + proof(proof(proof(@2839 @9564) proof(proof(@2574 @9471) @9520)) + proof(@2894 @9366)))))) + proof(proof(proof(@2839 @9541) proof(proof(@2574 proof(@6278 @9366)) proof(@2904 @9366))) + proof(@6285 @9366)))) +@9635 := proof(@9550 @9634) +@9638 := proof(proof(@350 proof(@2973 @9543)) @2977) +@9640 := proof(@9546 proof(@9635 @9638)) +@9641 := proof(@2839 @9403) +@9642 := proof(@6296 @9366) +@9647 := proof(proof(@9641 proof(proof(@2574 @9642) @9543)) proof(@6302 @9366)) +@9650 := proof(@9406 proof(@9539 proof(@9640 @9647))) +@9657 := proof(proof(proof(@2839 @9387) proof(proof(@2738 @9642) proof(@6310 @9366))) + proof(@6315 @9366)) +@9664 := proof(@9342 + proof(fun (h₁ : @9333) => + proof(@9367 proof(@9368 proof(@9369 proof(@9399 proof(@9650 @9657))))))) +@9665 := proof(@2738 @9382) +@9667 := proof(proof(@2574 @9375) @2667) +@9668 := proof(@9665 @9667) +@9719 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (l : @9300) => + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#1909620848._hygCtx._hyg.#82 : @9313) => + proof(@9664 + proof(fun (h₂ : @9336) => + proof(@9367 + proof(@9368 + proof(@9369 + proof(proof(proof(proof(proof(@2729 @9668) @9387) @552) + proof(proof(proof(@2775 @9382) @9667) + proof(proof(proof(@2778 @9375) @9382) + proof(proof(proof(@3401 @9374) @9381) @28)))) + proof(proof(proof(proof(proof(@2784 @9668) + proof(proof(@2738 @9541) @9403)) + @9387) + proof(proof(proof(proof(proof(proof(@2809 @9382) @9541) + @9667) + @9403) + @9634) + proof(proof(proof(proof(proof(@2784 @9667) + proof(proof(@2574 @9401) @9543)) + @9403) + proof(proof(proof(proof(proof(proof(@2834 @9375) + @9401) + @2667) + @9543) + @9538) + @9638)) + @9647))) + @9657))))))))))))) +@9723 := @3661 (fun (x : @12) => @3277 @6377 @6379) +@9725 := @44 (@9723 @28) +@9726 := @3277 @3663 +@9728 := @3661 @3 @28 +@9734 := {α : @197} -> (k : @3249) -> (l : @9300) -> (xs : @265) -> @9725 (@9726 @9728) +@9746 := proof(proof(@3083 + proof(fun (xs : @235) => + proof(proof(@44 + proof(proof(@3308 proof(fun (x : @19) => proof(proof(@3277 @2515) @6377))) @28)) + @9306))) + proof(@144 proof(@9723 @2497))) +@9752 := proof(@44 proof(proof(@3338 proof(fun (x : @66) => proof(proof(@3277 @4127) @2515))) @28)) +@9753 := proof(@3277 @9048) +@9754 := proof(@9324 @28) +@9756 := proof(@9752 proof(@9753 @9754)) +@9758 := proof(@44 proof(@9346 @5857)) +@9760 := proof(@3277 proof(@3369 @5857)) +@9761 := proof(@9353 @5857) +@9764 := proof(@350 proof(@9758 proof(@9760 @9761))) +@9766 := proof(@3277 proof(@3278 @5969)) +@9767 := proof(@9346 @3) +@9769 := proof(@44 proof(@9766 @9767)) +@9771 := proof(@3277 proof(@3278 @3700)) +@9772 := proof(@9353 @3) +@9773 := proof(@9320 @9772) +@9774 := proof(@9771 @9773) +@9775 := proof(@9769 @9774) +@9776 := proof(@3156 @9775) +@9777 := proof(@3277 @3700) +@9778 := proof(@9777 @9772) +@9779 := proof(@9766 @9778) +@9781 := proof(proof(@44 @9779) @9774) +@9782 := proof(@9776 @9781) +@9785 := proof(@350 proof(proof(@316 @9775) @9781)) +@9787 := proof(proof(@3739 @9767) @9778) +@9791 := proof(@44 proof(proof(@3277 proof(@3725 @6007)) @28)) +@9792 := proof(@3277 @3727) +@9794 := proof(proof(@3712 @66) @13) +@9795 := proof(@9370 @9794) +@9827 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (l : @9300) => + proof(fun (xs : @265) => + proof(proof(@9746 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @9756) => + proof(@9764 + proof(proof(@9782 + proof(@9785 + proof(proof(@9787 + proof(fun (_a : @43) => proof(@9791 proof(@9792 @9795)))) + @28))) + proof(proof(proof(@3195 @9781) proof(proof(@3756 @9779) @9774)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#1909620848._hygCtx._hyg.#82 : proof(@547 + @9781)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_add._proof_1_4) + @81) + @39) + @66) + @12) + @13) + @28))))))))) + @28))))) +@9828 := @3309 @13 +@9834 := @547 (@44 (@3306 (@9303 @9828)) (@9309 @9828)) +@9840 := {α : @197} -> + (k : @3249) -> + (ys : @264) -> + (x : @13) -> + (xs : @235) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#2285368591._hygCtx._hyg.#71 : @9834) -> @324 +@9841 := proof(@3339 @12) +@9843 := proof(@9320 proof(@9323 @9841)) +@9844 := proof(@1433 @9843) +@9845 := proof(@9330 @9841) +@9846 := proof(@9844 @9845) +@9847 := proof(@2638 @9846) +@9849 := proof(proof(@3350 @9843) @9845) +@9855 := proof(proof(proof(@9847 @9849) @324) proof(proof(proof(@3355 @9843) @9845) @28)) +@9857 := proof(@3363 proof(@3369 @6517)) +@9858 := proof(@2691 @9857) +@9859 := proof(@3369 @19) +@9860 := proof(@3363 @9859) +@9861 := proof(@2691 @9860) +@9862 := proof(@9358 @2693) +@9863 := proof(@9861 @9862) +@9866 := proof(@2698 proof(@9858 proof(@9352 @9863))) +@9867 := proof(@6515 @9866) +@9868 := proof(@6528 @9866) +@9869 := proof(@6530 @9866) +@9870 := proof(@9372 @9859) +@9871 := proof(@3363 @9870) +@9872 := proof(@2738 @9871) +@9873 := proof(@9379 @9859) +@9874 := proof(@9370 @9873) +@9875 := proof(@3363 @9874) +@9877 := proof(proof(@2574 @9875) @2667) +@9878 := proof(@9872 @9877) +@9879 := proof(@2729 @9878) +@9880 := proof(@6545 @9866) +@9892 := proof(proof(proof(@9879 @9880) @552) + proof(proof(proof(@2775 @9871) @9877) + proof(proof(proof(@2778 @9875) @9871) proof(proof(proof(@3401 @9874) @9870) @28)))) +@9893 := proof(@2784 @9878) +@9894 := proof(@6558 @9866) +@9895 := proof(@2738 @9894) +@9896 := proof(@6563 @9866) +@9899 := proof(proof(@9893 proof(@9895 @9896)) @9880) +@9903 := proof(proof(proof(proof(@2809 @9871) @9894) @9877) @9896) +@9904 := proof(@2784 @9871) +@9905 := proof(@9413 @9860) +@9909 := proof(proof(proof(@9904 @9905) @9894) proof(@9418 @9859)) +@9910 := proof(@2784 @9905) +@9911 := proof(@6080 @9866) +@9912 := proof(@2574 @9911) +@9913 := proof(@2857 @9866) +@9916 := proof(proof(@9910 proof(@9912 @9913)) @9894) +@9919 := proof(proof(proof(@9428 @9911) @9860) @9913) +@9921 := proof(proof(@9435 @9911) @9438) +@9922 := proof(@6102 @9866) +@9923 := proof(@2574 @9922) +@9924 := proof(@2849 @9866) +@9927 := proof(proof(@9440 proof(@9923 @9924)) @9911) +@9928 := proof(@9447 @9922) +@9930 := proof(proof(@9928 @9351) @9924) +@9938 := proof(proof(proof(@2839 @9922) @9357) + proof(proof(proof(proof(proof(@6115 @9857) @9351) @9860) @9357) @2693)) +@9939 := proof(@9930 @9938) +@9945 := proof(proof(proof(@2839 @9924) @9351) proof(proof(proof(@2868 @9857) @9351) @9863)) +@9947 := proof(@9927 proof(@9939 @9945)) +@9948 := proof(@2839 @9911) +@9950 := proof(@2574 proof(@6132 @9866)) +@9951 := proof(@2885 @9866) +@9958 := proof(@9919 + proof(@9921 proof(@9947 proof(proof(@9948 proof(@9950 @9951)) proof(@6139 @9866))))) +@9965 := proof(proof(proof(@2839 @9913) @9860) + proof(proof(proof(proof(@2876 @9857) @9351) @9860) @9862)) +@9967 := proof(@9916 proof(@9958 @9965)) +@9968 := proof(@2839 @9894) +@9970 := proof(@2574 proof(@6196 @9866)) +@9971 := proof(@2888 @9866) +@9977 := proof(@9909 proof(@9967 proof(proof(@9968 proof(@9970 @9971)) proof(@6633 @9866)))) +@9978 := proof(@9903 @9977) +@9979 := proof(@2784 @9877) +@9980 := proof(@6640 @9866) +@9981 := proof(@2574 @9980) +@9982 := proof(@2921 @9866) +@9985 := proof(proof(@9979 proof(@9981 @9982)) @9896) +@9989 := proof(proof(proof(proof(@2834 @9875) @9980) @2667) @9982) +@9990 := proof(@2784 @9875) +@9991 := proof(@3363 @9873) +@9992 := proof(@9433 @9991) +@9996 := proof(proof(proof(@9990 @9992) @9980) proof(@9437 @9873)) +@9997 := proof(@2784 @9992) +@9998 := proof(@2829 @9866) +@10001 := proof(proof(@9997 proof(@9923 @9998)) @9980) +@10004 := proof(proof(proof(@9928 @9991) @9998) @9938) +@10005 := proof(@2784 @9991) +@10006 := proof(@9596 @9860) +@10039 := proof(@9996 + proof(proof(@10001 + proof(@10004 + proof(proof(proof(proof(@10005 @10006) @9998) proof(@9600 @9859)) + proof(proof(proof(proof(proof(@2784 @10006) proof(proof(@2574 @9924) @9913)) + @9998) + proof(proof(proof(proof(proof(@9608 @9924) @9860) @9913) @9945) @9965)) + proof(proof(proof(@2839 @9998) proof(proof(@2574 @9951) @9971)) + proof(@2894 @9866)))))) + proof(proof(proof(@2839 @9980) proof(@9950 proof(@2904 @9866))) proof(@6683 @9866)))) +@10040 := proof(@9989 @10039) +@10043 := proof(proof(@350 proof(@2973 @9982)) @2977) +@10045 := proof(@9985 proof(@10040 @10043)) +@10046 := proof(@2839 @9896) +@10047 := proof(@6694 @9866) +@10052 := proof(proof(@10046 proof(proof(@2574 @10047) @9982)) proof(@6700 @9866)) +@10055 := proof(@9899 proof(@9978 proof(@10045 @10052))) +@10062 := proof(proof(proof(@2839 @9880) proof(proof(@2738 @10047) proof(@6708 @9866))) + proof(@6713 @9866)) +@10069 := proof(@9855 + proof(fun (h₁ : @9846) => + proof(@9867 proof(@9868 proof(@9869 proof(@9892 proof(@10055 @10062))))))) +@10070 := proof(@2738 @9875) +@10072 := proof(proof(@2574 @9871) @2667) +@10073 := proof(@10070 @10072) +@10124 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (ys : @264) => + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#2285368591._hygCtx._hyg.#71 : @9834) => + proof(@10069 + proof(fun (h₂ : @9849) => + proof(@9867 + proof(@9868 + proof(@9869 + proof(proof(proof(proof(proof(@2729 @10073) @9880) @552) + proof(proof(proof(@2775 @9875) @10072) + proof(proof(proof(@2778 @9871) @9875) + proof(proof(proof(@3401 @9870) @9874) @28)))) + proof(proof(proof(proof(proof(@2784 @10073) + proof(proof(@2738 @9980) @9896)) + @9880) + proof(proof(proof(proof(proof(proof(@2809 @9875) @9980) + @10072) + @9896) + @10039) + proof(proof(proof(proof(proof(@2784 @10072) + proof(proof(@2574 @9894) @9982)) + @9896) + proof(proof(proof(proof(proof(proof(@2834 @9871) + @9894) + @2667) + @9982) + @9977) + @10043)) + @10052))) + @10062))))))))))))) +@10134 := {α : @197} -> + (k : @3249) -> (xs : @264) -> (ys : @265) -> @44 (@3662 @6776) (@3277 (@3662 @3) @3663) +@10140 := proof(@3083 + proof(fun (xs : @235) => proof(proof(@44 proof(@3309 @3914)) proof(@9303 @3321)))) +@10141 := proof(@44 @3663) +@10144 := proof(proof(@3277 proof(@3662 @2497)) @3663) +@10145 := proof(@10141 @10144) +@10161 := proof(@10140 + proof(proof(@401 @10145) + proof(proof(proof(proof(proof(@406 @10145) proof(@10141 @3663)) @410) + proof(proof(proof(proof(@3739 @10144) @3663) @10141) + proof(proof(Nat.zero_add) @3663))) + proof(@3687 @3663)))) +@10165 := proof(proof(@44 proof(@3339 @6814)) proof(@9753 @3340)) +@10166 := proof(@3369 @6820) +@10167 := proof(@44 @10166) +@10169 := proof(@10167 proof(@9760 @3370)) +@10170 := proof(@3156 @10169) +@10171 := proof(@3369 @6826) +@10172 := proof(@3278 @10171) +@10173 := proof(@44 @10172) +@10174 := proof(@9771 @3370) +@10175 := proof(@10173 @10174) +@10194 := proof(proof(@10170 @10175) + proof(proof(@350 proof(proof(@316 @10169) @10175)) + proof(proof(proof(proof(@1564 @10167) @10173) + proof(proof(proof(proof(@1569 @10166) @10172) @44) + proof(proof(proof(proof(proof(LexLeanLaws.sumNat.eq_2) @39) @66) @13) @6826))) + @10174))) +@10195 := proof(@3156 @10175) +@10196 := proof(@9777 @3370) +@10197 := proof(@3278 @10196) +@10199 := proof(proof(@44 @10197) @10174) +@10240 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (xs : @264) => + proof(fun (ys : @265) => + proof(proof(@10161 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @10165) => + proof(@10194 + proof(proof(proof(@10195 @10199) + proof(proof(@350 proof(proof(@316 @10175) @10199)) + proof(proof(proof(proof(@3739 @10171) @10196) + proof(fun (_a : @43) => + proof(proof(@44 proof(@3725 @28)) + proof(@9792 proof(@3713 @19))))) + @28))) + proof(proof(proof(@3195 @10199) proof(proof(@3756 @10197) @10174)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#2285368591._hygCtx._hyg.#71 : proof(@547 + @10199)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_append._proof_1_4) + @81) + @39) + @19) + @12) + @13) + @28))))))))) + @3))))) +@10243 := {α : @197} -> (k : @3249) -> (x : @3) -> @9014 +@10248 := proof(fun {α : @197} => + proof(fun (k : @3249) => proof(fun (x : @3) => proof(fun (xs : @265) => proof(@310 @9009))))) +@10255 := @6906 @43 @43 @43 (@6910 @43 instMulNat) +@10256 := @10255 @3 +@10257 := @10256 @6917 +@10263 := @547 (@44 (@3335 @10257) (@3277 @10257 @3)) +@10267 := {α : @197} -> + (c : @43) -> + (xs : @264) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#2195119388._hygCtx._hyg.#69 : @10263) -> @324 +@10268 := @10255 @13 +@10269 := proof(@10268 @6932) +@10270 := proof(@3380 @10269) +@10271 := proof(@1433 @10270) +@10273 := proof(proof(@3277 @10269) @13) +@10274 := proof(@10271 @10273) +@10275 := proof(@2638 @10274) +@10277 := proof(proof(@3350 @10270) @10273) +@10283 := proof(proof(proof(@10275 @10277) @324) proof(proof(proof(@3355 @10270) @10273) @28)) +@10285 := proof(@3308 + proof(fun (x._@.LexLeanRuntime.Laws.#2195119388._hygCtx._hyg.#14 : @19) => @19)) +@10287 := proof(@3363 proof(@10285 @13)) +@10288 := proof(@2691 @10287) +@10289 := proof(@3363 @12) +@10291 := proof(proof(@6914 @10289) @6956) +@10292 := proof(@2691 @10291) +@10294 := proof(proof(@2691 @10289) @2693) +@10297 := proof(@2698 proof(@10288 proof(@10292 @10294))) +@10298 := proof(@2697 @10297) +@10299 := proof(@2716 @10297) +@10300 := proof(@2725 @10297) +@10301 := @10255 @12 +@10302 := proof(@10301 @6955) +@10304 := proof(proof(@3277 @10302) @12) +@10305 := proof(@3363 @10304) +@10306 := proof(@2738 @10305) +@10308 := proof(proof(@3277 @12) @10302) +@10309 := proof(@3363 @10308) +@10311 := proof(proof(@2574 @10309) @2667) +@10312 := proof(@10306 @10311) +@10313 := proof(@2729 @10312) +@10314 := proof(@6979 @10297) +@10326 := proof(proof(proof(@10313 @10314) @552) + proof(proof(proof(@2775 @10305) @10311) + proof(proof(proof(@2778 @10309) @10305) proof(proof(proof(@3401 @10308) @10304) @28)))) +@10327 := proof(@2784 @10312) +@10328 := proof(@2829 @10297) +@10329 := proof(@2738 @10328) +@10330 := proof(@6995 @10297) +@10333 := proof(proof(@10327 proof(@10329 @10330)) @10314) +@10337 := proof(proof(proof(proof(@2809 @10305) @10328) @10311) @10330) +@10338 := proof(@2784 @10305) +@10339 := proof(@3363 @10302) +@10341 := proof(proof(@2574 @10339) @10289) +@10346 := proof(proof(proof(@10338 @10341) @10328) proof(proof(@3425 @10302) @12)) +@10347 := proof(@2784 @10341) +@10348 := proof(@2849 @10297) +@10349 := proof(@2574 @10348) +@10350 := proof(@2857 @10297) +@10353 := proof(proof(@10347 proof(@10349 @10350)) @10328) +@10357 := proof(proof(proof(proof(@2834 @10339) @10348) @10289) @10350) +@10371 := proof(proof(proof(proof(proof(@2784 @10339) @10291) @10348) + proof(proof(proof(Int.natCast_mul) @12) @6955)) + proof(proof(proof(@2839 @10348) @10291) proof(proof(proof(@2868 @10287) @10291) @10294))) +@10372 := proof(@10357 @10371) +@10379 := proof(proof(proof(@2839 @10350) @10289) + proof(proof(proof(proof(@2876 @10287) @10291) @10289) @2693)) +@10381 := proof(@10353 proof(@10372 @10379)) +@10382 := proof(@2839 @10328) +@10383 := proof(@2885 @10297) +@10384 := proof(@2574 @10383) +@10385 := proof(@2888 @10297) +@10391 := proof(@10346 proof(@10381 proof(proof(@10382 proof(@10384 @10385)) proof(@2894 @10297)))) +@10392 := proof(@10337 @10391) +@10393 := proof(@2784 @10311) +@10394 := proof(@7044 @10297) +@10395 := proof(@2574 @10394) +@10396 := proof(@2921 @10297) +@10399 := proof(proof(@10393 proof(@10395 @10396)) @10330) +@10403 := proof(proof(proof(proof(@2834 @10309) @10394) @2667) @10396) +@10404 := proof(@2784 @10309) +@10406 := proof(proof(@2574 @10289) @10339) +@10431 := proof(proof(proof(proof(@10404 @10406) @10394) proof(proof(@3425 @12) @10302)) + proof(proof(proof(proof(proof(@2784 @10406) proof(proof(@2574 @10350) @10348)) @10394) + proof(proof(proof(proof(proof(proof(@2834 @10289) @10350) @10339) @10348) @10379) + @10371)) + proof(proof(proof(@2839 @10394) proof(proof(@2574 @10385) @10383)) proof(@7072 @10297)))) +@10432 := proof(@10403 @10431) +@10435 := proof(proof(@350 proof(@2973 @10396)) @2977) +@10437 := proof(@10399 proof(@10432 @10435)) +@10438 := proof(@2839 @10330) +@10439 := proof(@2904 @10297) +@10444 := proof(proof(@10438 proof(proof(@2574 @10439) @10396)) proof(@7088 @10297)) +@10447 := proof(@10333 proof(@10392 proof(@10437 @10444))) +@10454 := proof(proof(proof(@2839 @10314) proof(proof(@2738 @10439) proof(@7096 @10297))) + proof(@7101 @10297)) +@10461 := proof(@10283 + proof(fun (h₁ : @10274) => + proof(@10298 proof(@10299 proof(@10300 proof(@10326 proof(@10447 @10454))))))) +@10462 := proof(@2738 @10309) +@10464 := proof(proof(@2574 @10305) @2667) +@10465 := proof(@10462 @10464) +@10514 := proof(fun {α : @197} => + proof(fun (c : @43) => + proof(fun (xs : @264) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#2195119388._hygCtx._hyg.#69 : @10263) => + proof(@10461 + proof(fun (h₂ : @10277) => + proof(@10298 + proof(@10299 + proof(@10300 + proof(proof(proof(proof(proof(@2729 @10465) @10314) @552) + proof(proof(proof(@2775 @10309) @10464) + proof(proof(proof(@2778 @10305) @10309) + proof(proof(proof(@3401 @10304) @10308) @28)))) + proof(proof(proof(proof(proof(@2784 @10465) + proof(proof(@2738 @10394) @10330)) + @10314) + proof(proof(proof(proof(proof(proof(@2809 @10309) @10394) + @10464) + @10330) + @10431) + proof(proof(proof(proof(proof(@2784 @10464) + proof(proof(@2574 @10328) @10396)) + @10330) + proof(proof(proof(proof(proof(proof(@2834 @10305) + @10328) + @2667) + @10396) + @10391) + @10435)) + @10444))) + @10454))))))))))) +@10516 := @9023 (fun (x._@.LexLeanRuntime.Laws.#2195119388._hygCtx._hyg.#14 : @13) => @13) +@10522 := {α : @197} -> (c : @43) -> (xs : @264) -> @44 (@10516 @28) @10257 +@10533 := proof(proof(@3890 + proof(fun (xs : @265) => + proof(proof(@44 + proof(proof(@3661 + proof(fun (x._@.LexLeanRuntime.Laws.#2195119388._hygCtx._hyg.#14 : @12) => + @12)) + @28)) + proof(@10268 @7173)))) + proof(@144 proof(@10516 @7180))) +@10537 := proof(proof(@44 proof(@10285 @28)) proof(@10301 @7203)) +@10539 := proof(@3338 + proof(fun (x._@.LexLeanRuntime.Laws.#2195119388._hygCtx._hyg.#14 : @66) => @66)) +@10541 := proof(@44 proof(@10539 @7210)) +@10542 := proof(@10255 @19) +@10545 := proof(@350 proof(@10541 proof(@10542 @7215))) +@10546 := proof(@3277 @19) +@10547 := proof(@10539 @3) +@10549 := proof(@44 proof(@10546 @10547)) +@10550 := proof(@10542 @7226) +@10551 := proof(@10549 @10550) +@10552 := proof(@3156 @10551) +@10553 := proof(@10542 @7224) +@10554 := proof(@10546 @10553) +@10555 := proof(@44 @10554) +@10556 := proof(@10555 @10550) +@10557 := proof(@10552 @10556) +@10560 := proof(@350 proof(proof(@316 @10551) @10556)) +@10562 := proof(proof(@3739 @10547) @10553) +@10563 := proof(@3277 @66) +@10565 := proof(@44 proof(@10563 @28)) +@10566 := proof(@10255 @66) +@10573 := proof(@10557 + proof(@10560 + proof(proof(@10562 proof(fun (_a : @43) => proof(@10565 proof(@10566 @7249)))) @28))) +@10574 := proof(@3156 @10556) +@10576 := proof(proof(@3277 @10553) @19) +@10577 := proof(@10555 @10576) +@10621 := proof(fun {α : @197} => + proof(fun (c : @43) => + proof(fun (xs : @264) => + proof(proof(@10533 + proof(fun (x : @13) => + proof(fun (xs : @235) => + proof(fun (ih : @10537) => + proof(@10545 + proof(@10573 + proof(proof(proof(@10574 @10577) + proof(proof(@350 proof(proof(@316 @10556) @10577)) + proof(proof(proof(proof(@3739 + proof(@10542 proof(proof(Nat.succ) @7224))) + @10576) + proof(fun (_a : @43) => + proof(proof(@44 proof(@10563 proof(@10566 @7247))) + @28))) + proof(proof(proof(Nat.mul_succ) @19) @7224)))) + proof(proof(proof(@3195 @10577) proof(proof(@3756 @10554) @10576)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#2195119388._hygCtx._hyg.#69 : proof(@547 + @10577)) => + proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_const._proof_1_4) + @39) + @66) + @13) + @28)))))))))) + @28)))) +@10623 := fun (x : @12) => @10301 @6379 +@10624 := @3661 @10623 +@10625 := @10624 @28 +@10626 := @44 @10625 +@10627 := @10268 @9728 +@10632 := {α : @197} -> (c : @43) -> (k : @9300) -> (xs : @265) -> @10626 @10627 +@10644 := proof(proof(@3083 + proof(fun (xs : @235) => + proof(proof(@44 proof(proof(@3308 proof(fun (x : @19) => proof(@10542 @6377))) @28)) + proof(@10301 @9305)))) + proof(@144 proof(@10624 @2497))) +@10651 := proof(proof(@44 proof(proof(@3338 proof(fun (x : @66) => proof(@10566 @2515))) @28)) + proof(@10542 @9754)) +@10652 := proof(@10255 @39) +@10655 := proof(@3368 proof(fun (x : @39) => proof(@10652 @4127))) +@10660 := proof(@350 proof(proof(@44 proof(@10655 @5857)) proof(@10566 @9761))) +@10662 := proof(@3277 proof(@10566 @5969)) +@10663 := proof(@10655 @3) +@10665 := proof(@44 proof(@10662 @10663)) +@10666 := proof(@10566 @9773) +@10667 := proof(@10665 @10666) +@10668 := proof(@3156 @10667) +@10669 := proof(@10566 @9772) +@10670 := proof(@10662 @10669) +@10671 := proof(@44 @10670) +@10672 := proof(@10671 @10666) +@10673 := proof(@10668 @10672) +@10676 := proof(@350 proof(proof(@316 @10667) @10672)) +@10678 := proof(proof(@3739 @10663) @10669) +@10680 := proof(@3277 proof(@10652 @6007)) +@10689 := proof(@10673 + proof(@10676 + proof(proof(@10678 + proof(fun (_a : @43) => proof(proof(@44 proof(@10680 @28)) proof(@10652 @9795)))) + @28))) +@10690 := proof(@3156 @10672) +@10691 := proof(@10671 @10670) +@10723 := proof(fun {α : @197} => + proof(fun (c : @43) => + proof(fun (k : @9300) => + proof(fun (xs : @265) => + proof(proof(@10644 + proof(fun (x : @12) => + proof(fun (xs : @2500) => + proof(fun (ih : @10651) => + proof(@10660 + proof(@10689 + proof(proof(proof(@10690 @10691) + proof(proof(@350 proof(proof(@316 @10672) @10691)) + proof(proof(proof(proof(@3739 @10666) @10670) + proof(fun (_a : @43) => + proof(proof(@44 proof(@10680 proof(@10652 @9794))) + @28))) + proof(proof(proof(proof(Nat.mul_add) @66) @5969) + @9772)))) + proof(@144 @10670)))))))) + @28))))) +@10726 := fun (x : @12) => @10255 @6379 @12 +@10727 := @3661 @10726 +@10728 := @10727 @28 +@10729 := @44 @10728 +@10731 := @10255 @9728 @13 +@10732 := @10729 @10731 +@10736 := {α : @197} -> (c : @43) -> (k : @9300) -> (xs : @265) -> @10732 +@10737 := proof(@3156 @10732) +@10738 := proof(@10729 @10627) +@10739 := proof(@10737 @10738) +@10742 := proof(@350 proof(proof(@316 @10732) @10738)) +@10744 := proof(proof(@3739 @10731) @10627) +@10752 := proof(fun (_a : @43) => + proof(proof(@44 proof(proof(@3308 proof(fun (x : @19) => proof(proof(@10255 @6377) @19))) @3)) + @28)) +@10753 := proof(@10744 @10752) +@10754 := proof(Nat.mul_comm) +@10759 := proof(@10739 proof(@10742 proof(@10753 proof(proof(@10754 @9728) @13)))) +@10760 := proof(@3156 @10738) +@10761 := proof(@10729 @10625) +@10762 := proof(@10760 @10761) +@10765 := proof(@350 proof(proof(@316 @10738) @10761)) +@10768 := proof(proof(proof(@3739 @10627) @10625) @10752) +@10770 := proof(proof(@133 @10625) @10627) +@10771 := proof(LexLeanLaws.sumNat_mul) +@10823 := proof(fun {α : @197} => + proof(fun (c : @43) => + proof(fun (k : @9300) => + proof(fun (xs : @265) => + proof(@10759 + proof(proof(@10762 + proof(@10765 + proof(@10768 + proof(@10770 proof(proof(proof(proof(@10771 @12) @13) @3) @28))))) + proof(proof(@401 @10761) + proof(proof(proof(proof(proof(@406 @10761) proof(@10626 @10625)) @410) + proof(proof(proof(proof(@1564 @10729) @10626) + proof(proof(proof(proof(@1569 @10728) @10625) @44) + proof(proof(proof(proof(proof(@7496 @43) @10727) @10624) + proof(proof(proof(proof(proof(proof(@412 + proof((x : @12) -> @43)) + proof((a._@._internal._hyg.#0 : @235) -> + @43)) + @10726) + @10623) + @3661) + proof(proof(proof(proof(@7508 + proof(fun (x : @12) => @43)) + @10726) + @10623) + proof(fun (x : @12) => + proof(proof(@10754 @6379) @12))))) + @28))) + @10625)) + proof(@3687 @10625))))))))) +@10832 := (c : @43) -> (xs : @3783) -> @44 (@3793 (fun (x : @43) => @10268 @28) @28) (@10256 @3796) +@10838 := proof(fun (c : @43) => + proof(fun (xs : @3783) => proof(proof(proof(proof(@10771 @43) @3) @3794) @28))) +@10841 := proof(fun {α : @197} => proof(fun (k : @3249) => proof(@310 @9001))) +@10847 := @547 (@44 (@3306 (@3324 @3310)) (@3324 @3311)) +@10853 := {α : @197} -> + (k : @3249) -> + (x : @3) -> + (y : @13) -> + (l : @235) -> (a._@._internal.#0.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#70 : @10847) -> @324 +@10855 := proof(@9320 proof(@3343 @3678)) +@10856 := proof(@1433 @10855) +@10857 := proof(@3343 @9329) +@10858 := proof(@10856 @10857) +@10859 := proof(@2638 @10858) +@10861 := proof(proof(@3350 @10855) @10857) +@10867 := proof(proof(proof(@10859 @10861) @324) proof(proof(proof(@3355 @10855) @10857) @28)) +@10868 := proof(@9352 @2693) +@10869 := proof(@9358 @10868) +@10871 := proof(@2698 proof(@3367 @10869)) +@10872 := proof(@2697 @10871) +@10873 := proof(@2716 @10871) +@10874 := proof(@2725 @10871) +@10875 := proof(@3381 @9371) +@10876 := proof(@3363 @10875) +@10877 := proof(@2738 @10876) +@10878 := proof(@3381 @9350) +@10879 := proof(@9370 @10878) +@10880 := proof(@3363 @10879) +@10882 := proof(proof(@2574 @10880) @2667) +@10883 := proof(@10877 @10882) +@10884 := proof(@2729 @10883) +@10885 := proof(@2771 @10871) +@10897 := proof(proof(proof(@10884 @10885) @552) + proof(proof(proof(@2775 @10876) @10882) + proof(proof(proof(@2778 @10880) @10876) proof(proof(proof(@3401 @10879) @10875) @28)))) +@10898 := proof(@2784 @10883) +@10899 := proof(@2798 @10871) +@10900 := proof(@2738 @10899) +@10901 := proof(@2804 @10871) +@10904 := proof(proof(@10898 proof(@10900 @10901)) @10885) +@10908 := proof(proof(proof(proof(@2809 @10876) @10899) @10882) @10901) +@10909 := proof(@2784 @10876) +@10910 := proof(@3447 @9412) +@10911 := proof(@10909 @10910) +@10912 := proof(@10911 @10899) +@10913 := proof(@3451 @9371) +@10914 := proof(@10912 @10913) +@10915 := proof(@2784 @10910) +@10916 := proof(@2820 @10871) +@10917 := proof(@2574 @10916) +@10918 := proof(@2829 @10871) +@10921 := proof(proof(@10915 proof(@10917 @10918)) @10899) +@10922 := proof(@3461 @10916) +@10924 := proof(proof(@10922 @9412) @10918) +@10929 := proof(proof(proof(@2839 @10916) @3366) proof(proof(@2842 @3366) @10869)) +@10930 := proof(@10924 @10929) +@10932 := proof(proof(@9435 @10918) @9438) +@10933 := proof(@2849 @10871) +@10934 := proof(@2574 @10933) +@10935 := proof(@2857 @10871) +@10938 := proof(proof(@9440 proof(@10934 @10935)) @10918) +@10939 := proof(@9447 @10933) +@10941 := proof(proof(@10939 @9351) @10935) +@10947 := proof(proof(proof(@2839 @10933) @9357) proof(proof(proof(@2868 @3366) @9357) @10868)) +@10948 := proof(@10941 @10947) +@10955 := proof(proof(proof(@2839 @10935) @9351) + proof(proof(proof(proof(@2876 @3366) @9357) @9351) @2693)) +@10957 := proof(@10938 proof(@10948 @10955)) +@10958 := proof(@2839 @10918) +@10960 := proof(@2574 proof(@2885 @10871)) +@10961 := proof(@2888 @10871) +@10969 := proof(@10921 + proof(@10930 + proof(@10932 + proof(@10957 proof(proof(@10958 proof(@10960 @10961)) proof(@2894 @10871)))))) +@10970 := proof(@2839 @10899) +@10972 := proof(@2574 proof(@2901 @10871)) +@10980 := proof(@10908 + proof(@10914 + proof(@10969 proof(proof(@10970 proof(@10972 proof(@2904 @10871))) proof(@2909 @10871))))) +@10981 := proof(@2784 @10882) +@10982 := proof(@8084 @10871) +@10983 := proof(@2574 @10982) +@10984 := proof(@2921 @10871) +@10987 := proof(proof(@10981 proof(@10983 @10984)) @10901) +@10991 := proof(proof(proof(proof(@2834 @10880) @10982) @2667) @10984) +@10992 := proof(@2784 @10880) +@10993 := proof(@3363 @10878) +@10994 := proof(@9433 @10993) +@10995 := proof(@10992 @10994) +@10996 := proof(@10995 @10982) +@10997 := proof(@9437 @10878) +@10998 := proof(@10996 @10997) +@10999 := proof(@2784 @10994) +@11000 := proof(@8097 @10871) +@11003 := proof(proof(@10999 proof(@10934 @11000)) @10982) +@11006 := proof(proof(proof(@10939 @10993) @11000) @10947) +@11007 := proof(@2784 @10993) +@11008 := proof(@3447 @9351) +@11009 := proof(@11007 @11008) +@11010 := proof(@11009 @11000) +@11011 := proof(@3451 @9350) +@11012 := proof(@11010 @11011) +@11013 := proof(@2784 @11008) +@11044 := proof(@10987 + proof(proof(@10991 + proof(@10998 + proof(proof(@11003 + proof(@11006 + proof(@11012 + proof(proof(proof(proof(@11013 proof(@10917 @10935)) @11000) + proof(proof(proof(proof(@10922 @9351) @10935) @10929) @10955)) + proof(proof(proof(@2839 @11000) proof(@10972 @10961)) + proof(@8117 @10871)))))) + proof(proof(proof(@2839 @10982) proof(@10960 proof(@8124 @10871))) + proof(@8128 @10871))))) + proof(proof(@350 proof(@2973 @10984)) @2977))) +@11045 := proof(@2839 @10901) +@11046 := proof(@2982 @10871) +@11068 := proof(@10867 + proof(fun (h₁ : @10858) => + proof(@10872 + proof(@10873 + proof(@10874 + proof(@10897 + proof(proof(@10904 + proof(@10980 + proof(@11044 + proof(proof(@11045 proof(proof(@2574 @11046) @10984)) + proof(@2988 @10871))))) + proof(proof(proof(@2839 @10885) + proof(proof(@2738 @11046) proof(@2996 @10871))) + proof(@3002 @10871))))))))) +@11069 := proof(@3367 @10868) +@11071 := proof(@2698 proof(@9358 @11069)) +@11072 := proof(@2697 @11071) +@11073 := proof(@2716 @11071) +@11074 := proof(@2725 @11071) +@11075 := proof(@2738 @10880) +@11077 := proof(proof(@2574 @10876) @2667) +@11078 := proof(@11075 @11077) +@11079 := proof(@2729 @11078) +@11080 := proof(@2771 @11071) +@11092 := proof(proof(proof(@11079 @11080) @552) + proof(proof(proof(@2775 @10880) @11077) + proof(proof(proof(@2778 @10876) @10880) proof(proof(proof(@3401 @10875) @10879) @28)))) +@11093 := proof(@2784 @11078) +@11094 := proof(@2798 @11071) +@11095 := proof(@2738 @11094) +@11096 := proof(@2804 @11071) +@11099 := proof(proof(@11093 proof(@11095 @11096)) @11080) +@11103 := proof(proof(proof(proof(@2809 @10880) @11094) @11077) @11096) +@11105 := proof(proof(@10995 @11094) @10997) +@11106 := proof(@2820 @11071) +@11107 := proof(@2574 @11106) +@11108 := proof(@2829 @11071) +@11111 := proof(proof(@10999 proof(@11107 @11108)) @11094) +@11112 := proof(@9447 @11106) +@11114 := proof(proof(@11112 @10993) @11108) +@11119 := proof(proof(proof(@2839 @11106) @9357) proof(proof(@2842 @9357) @11069)) +@11120 := proof(@11114 @11119) +@11122 := proof(proof(@11009 @11108) @11011) +@11123 := proof(@2849 @11071) +@11124 := proof(@2574 @11123) +@11125 := proof(@2857 @11071) +@11128 := proof(proof(@11013 proof(@11124 @11125)) @11108) +@11129 := proof(@3461 @11123) +@11131 := proof(proof(@11129 @9351) @11125) +@11137 := proof(proof(proof(@2839 @11123) @3366) proof(proof(proof(@2868 @9357) @3366) @10868)) +@11138 := proof(@11131 @11137) +@11145 := proof(proof(proof(@2839 @11125) @9351) + proof(proof(proof(proof(@2876 @9357) @3366) @9351) @2693)) +@11147 := proof(@11128 proof(@11138 @11145)) +@11148 := proof(@2839 @11108) +@11150 := proof(@2574 proof(@2885 @11071)) +@11151 := proof(@2888 @11071) +@11159 := proof(@11111 + proof(@11120 + proof(@11122 + proof(@11147 proof(proof(@11148 proof(@11150 @11151)) proof(@2894 @11071)))))) +@11160 := proof(@2839 @11094) +@11162 := proof(@2574 proof(@2901 @11071)) +@11170 := proof(@11103 + proof(@11105 + proof(@11159 proof(proof(@11160 proof(@11162 proof(@2904 @11071))) proof(@2909 @11071))))) +@11171 := proof(@2784 @11077) +@11172 := proof(@8084 @11071) +@11173 := proof(@2574 @11172) +@11174 := proof(@2921 @11071) +@11177 := proof(proof(@11171 proof(@11173 @11174)) @11096) +@11181 := proof(proof(proof(proof(@2834 @10876) @11172) @2667) @11174) +@11183 := proof(proof(@10911 @11172) @10913) +@11184 := proof(@8097 @11071) +@11223 := proof(@11177 + proof(proof(@11181 + proof(@11183 + proof(proof(proof(proof(@10915 proof(@11124 @11184)) @11172) + proof(proof(proof(proof(@11129 @9412) @11184) @11137) + proof(proof(proof(@9435 @11184) @9438) + proof(proof(proof(proof(@9440 proof(@11107 @11125)) @11184) + proof(proof(proof(proof(@11112 @9351) @11125) @11119) @11145)) + proof(proof(proof(@2839 @11184) proof(@11162 @11151)) + proof(@8117 @11071)))))) + proof(proof(proof(@2839 @11172) proof(@11150 proof(@8124 @11071))) + proof(@8128 @11071))))) + proof(proof(@350 proof(@2973 @11174)) @2977))) +@11224 := proof(@2839 @11096) +@11225 := proof(@2982 @11071) +@11253 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (x : @3) => + proof(fun (y : @13) => + proof(fun (l : @235) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#70 : @10847) => + proof(@11068 + proof(fun (h₂ : @10861) => + proof(@11072 + proof(@11073 + proof(@11074 + proof(@11092 + proof(proof(@11099 + proof(@11170 + proof(@11223 + proof(proof(@11224 + proof(proof(@2574 @11225) @11174)) + proof(@2988 @11071))))) + proof(proof(proof(@2839 @11080) + proof(proof(@2738 @11225) proof(@2996 @11071))) + proof(@3002 @11071))))))))))))))) +@11260 := {α : @197} -> (k : @3249) -> {xs : @264} -> {ys : @265} -> (h : @8335) -> @44 @9828 @3321 +@11270 := proof(proof(@8344 + proof(fun {xs : @2500} => + proof(fun {ys : @2522} => + proof(fun (h : @8347) => proof(proof(@44 @3726) proof(@3713 @3)))))) + proof(@144 proof(@3309 @2552))) +@11274 := proof(proof(@44 proof(@3744 @13)) proof(@3744 @3)) +@11279 := proof(@350 proof(proof(@44 proof(@9171 @8366)) proof(@9171 @8369))) +@11280 := proof(@3277 @8373) +@11281 := proof(@9171 @12) +@11283 := proof(@44 proof(@11280 @11281)) +@11284 := proof(@9171 @13) +@11285 := proof(@11280 @11284) +@11286 := proof(@11283 @11285) +@11287 := proof(@3156 @11286) +@11289 := proof(proof(@44 @11285) @11285) +@11290 := proof(@11287 @11289) +@11293 := proof(@350 proof(proof(@316 @11286) @11289)) +@11295 := proof(proof(@3739 @11281) @11284) +@11296 := proof(@3277 @8390) +@11298 := proof(@44 proof(@11296 @28)) +@11299 := proof(@9256 @12) +@11315 := proof(@11270 + proof(fun (x : @19) => + proof(fun {l₁._@.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#34 : @2522} => + proof(fun {l₂._@.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#35 : @3893} => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#36 : @8359) => + proof(fun (ih : @11274) => + proof(@11279 + proof(proof(@11290 + proof(@11293 + proof(proof(@11295 + proof(fun (_a : @43) => proof(@11298 proof(@11296 @11299)))) + @28))) + proof(@144 @11285))))))))) +@11320 := proof(@350 proof(proof(@44 proof(@3713 @8414)) proof(@3713 @8418))) +@11321 := proof(@3277 @8422) +@11323 := proof(@9123 proof(@11321 @9124)) +@11324 := proof(@44 @11323) +@11325 := proof(@11321 @9125) +@11326 := proof(@11324 @11325) +@11345 := proof(@11315 + proof(fun (x : @19) => + proof(fun (y : @66) => + proof(fun (l : @3893) => + proof(@11320 + proof(proof(proof(@3195 @11326) proof(proof(@3756 @11323) @11325)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#70 : proof(@547 + @11326)) => + proof(proof(proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.sumNat_perm._proof_1_4) + @48) + @81) + @12) + @13) + @3) + @28)))))))) +@11348 := proof(proof(@44 proof(@9171 @19)) @11281) +@11351 := proof(proof(@44 proof(@9256 @19)) @11299) +@11352 := proof(@405 @43) +@11354 := proof(proof(@3307 @4147) @4117) +@11378 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun {xs : @264} => + proof(fun {ys : @265} => + proof(fun (h : @8335) => + proof(proof(proof(proof(@11345 + proof(fun {l₁._@.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#71 : @2500} => + proof(fun {l₂._@.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#72 : @2522} => + proof(fun {l₃._@.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#73 : @3893} => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#74 : @8449) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#131305305._hygCtx._hyg.#75 : @8452) => + proof(fun (ih₁ : @11348) => + proof(fun (ih₂ : @11351) => + proof(proof(proof(proof(proof(@11352 proof(@11354 @39)) + proof(@11354 @66)) + proof(@11354 @19)) + @3) + @28))))))))) + @13) + @3) + @28)))))) +@11384 := {α : @197} -> (k : @3249) -> (xs : @264) -> @44 (@9024 @4558) @9025 +@11393 := proof(fun {α : @197} => + proof(fun (k : @3249) => + proof(fun (xs : @264) => + proof(proof(proof(proof(proof(proof(LexLeanLaws.sumNat_perm) @13) @3) @4558) @28) @8498)))) +@11394 := @2722 @7941 +@11396 := @547 (@3100 @11394) +@11399 := (a : @314) -> + (b : @314) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#136 : @11396) -> @324 +@11400 := @2722 @3 +@11401 := @2722 @11400 +@11402 := proof(@340 @11401) +@11403 := proof(@2638 @11402) +@11405 := proof(proof(@320 @11401) @3) +@11411 := proof(proof(proof(@11403 @11405) @324) proof(proof(proof(@2656 @3) @11401) @28)) +@11412 := proof(@2690 @2695) +@11413 := proof(@2699 @2693) +@11415 := proof(@2698 proof(@6959 @11413)) +@11416 := proof(@11412 @11415) +@11418 := proof(proof(@2715 @2695) @11415) +@11420 := proof(proof(@2724 @2695) @11415) +@11421 := @2722 @13 +@11422 := proof(@2722 @11421) +@11423 := proof(@2738 @11422) +@11424 := proof(@2739 @2667) +@11425 := proof(@11423 @11424) +@11426 := proof(@2729 @11425) +@11427 := proof(@2768 @2823) +@11430 := proof(proof(@2751 proof(@8721 @11427)) @11415) +@11432 := proof(proof(@11426 @11430) @552) +@11434 := proof(proof(@2775 @11422) @11424) +@11435 := proof(@2778 @13) +@11438 := proof(@11434 proof(proof(@11435 @11422) @28)) +@11439 := proof(@11432 @11438) +@11440 := proof(@2784 @11425) +@11443 := proof(proof(@2751 proof(@7618 @7694)) @11415) +@11444 := proof(@2738 @11443) +@11447 := proof(proof(@2751 proof(@2825 @2802)) @11415) +@11450 := proof(proof(@11440 proof(@11444 @11447)) @11430) +@11451 := proof(@2809 @11422) +@11454 := proof(proof(proof(@11451 @11443) @11424) @11447) +@11455 := proof(@2784 @11422) +@11456 := proof(@7713 @11415) +@11459 := proof(proof(@11455 proof(@2722 @11456)) @11443) +@11460 := proof(@7639 @11421) +@11461 := proof(@11460 @11456) +@11462 := proof(@2784 @11421) +@11463 := proof(@2849 @11415) +@11466 := proof(proof(@11462 proof(@2722 @11463)) @11456) +@11467 := proof(@7639 @13) +@11468 := proof(@11467 @11463) +@11474 := proof(proof(proof(@2839 @11463) @13) proof(proof(proof(@2868 @12) @13) @2693)) +@11476 := proof(@11466 proof(@11468 @11474)) +@11477 := proof(@2839 @11456) +@11478 := proof(@2885 @11415) +@11493 := proof(proof(@11459 + proof(@11461 proof(@11476 proof(proof(@11477 proof(@2722 @11478)) proof(@7749 @11415))))) + proof(proof(proof(@2839 @11443) proof(@2722 proof(@7759 @11415))) + proof(proof(@7683 @7694) @11415))) +@11494 := proof(@11454 @11493) +@11495 := proof(@2784 @11424) +@11496 := proof(@2574 @11463) +@11497 := proof(@2921 @11415) +@11500 := proof(proof(@11495 proof(@11496 @11497)) @11447) +@11504 := proof(proof(proof(proof(@2835 @11463) @2667) @11497) @11474) +@11507 := proof(proof(@350 proof(@2973 @11497)) @2977) +@11509 := proof(@11500 proof(@11504 @11507)) +@11516 := proof(proof(proof(@2839 @11447) proof(proof(@2574 @11478) @11497)) + proof(proof(@2893 @2802) @11415)) +@11519 := proof(@11450 proof(@11494 proof(@11509 @11516))) +@11528 := proof(proof(proof(@2839 @11430) + proof(proof(@2738 @11478) proof(proof(@2751 @11427) @11415))) + proof(proof(@8770 @11427) @11415)) +@11535 := proof(@11411 + proof(fun (h₁ : @11402) => + proof(@11416 proof(@11418 proof(@11420 proof(@11439 proof(@11519 @11528))))))) +@11537 := proof(proof(@2574 @11422) @2667) +@11538 := proof(@4734 @11537) +@11539 := proof(@2729 @11538) +@11541 := proof(proof(@11539 @11430) @552) +@11547 := proof(proof(proof(@2775 @13) @11537) proof(proof(proof(@2778 @11422) @13) @28)) +@11548 := proof(@11541 @11547) +@11549 := proof(@2784 @11538) +@11553 := proof(proof(@11549 proof(proof(@2738 @11463) @11447)) @11430) +@11557 := proof(proof(proof(proof(@4785 @11463) @11537) @11447) @11474) +@11558 := proof(@2784 @11537) +@11562 := proof(proof(@11558 proof(proof(@2574 @11443) @11497)) @11447) +@11563 := proof(@2834 @11422) +@11582 := proof(fun (a : @314) => + proof(fun (b : @314) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#136 : @11396) => + proof(@11535 + proof(fun (h₂ : @11405) => + proof(@11416 + proof(@11418 + proof(@11420 + proof(@11548 + proof(proof(@11553 + proof(@11557 + proof(proof(@11562 + proof(proof(proof(proof(proof(@11563 @11443) @2667) + @11497) + @11493) + @11507)) + @11516))) + @11528)))))))))) +@11584 := @547 (@5207 @11401) +@11587 := (a : @314) -> + (b : @314) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#197 : @11584) -> @324 +@11588 := proof(@487 @11422) +@11589 := proof(@2638 @11588) +@11591 := proof(proof(@320 @11422) @13) +@11597 := proof(proof(proof(@11589 @11591) @324) proof(proof(proof(@2656 @13) @11422) @28)) +@11598 := proof(@2690 @2694) +@11599 := proof(@11598 @11415) +@11600 := proof(@2715 @2694) +@11601 := proof(@11600 @11415) +@11602 := proof(@2724 @2694) +@11603 := proof(@11602 @11415) +@11604 := proof(@2722 @12) +@11605 := proof(@2722 @11604) +@11606 := proof(@2738 @11605) +@11607 := proof(@6970 @2667) +@11608 := proof(@11606 @11607) +@11609 := proof(@2729 @11608) +@11610 := proof(@2768 @2763) +@11612 := proof(@2751 proof(@4764 @11610)) +@11613 := proof(@11612 @11415) +@11615 := proof(proof(@11609 @11613) @552) +@11617 := proof(proof(@2775 @11605) @11607) +@11618 := proof(@2778 @12) +@11622 := proof(@11615 proof(@11617 proof(proof(@11618 @11605) @28))) +@11623 := proof(@2784 @11608) +@11624 := proof(@2761 @4745) +@11626 := proof(@2751 proof(@7618 @11624)) +@11627 := proof(@11626 @11415) +@11628 := proof(@2738 @11627) +@11630 := proof(@2751 proof(@2794 @2802)) +@11631 := proof(@11630 @11415) +@11634 := proof(proof(@11623 proof(@11628 @11631)) @11613) +@11638 := proof(proof(proof(proof(@2809 @11605) @11627) @11607) @11631) +@11639 := proof(@2784 @11605) +@11641 := proof(@2751 proof(@7618 @2793)) +@11642 := proof(@11641 @11415) +@11645 := proof(proof(@11639 proof(@2722 @11642)) @11627) +@11647 := proof(proof(@7639 @11604) @11642) +@11648 := proof(@2784 @11604) +@11649 := proof(@2820 @11415) +@11652 := proof(proof(@11648 proof(@2722 @11649)) @11642) +@11654 := proof(proof(@7639 @12) @11649) +@11659 := proof(proof(proof(@2839 @11649) @12) proof(proof(@2842 @12) @11413)) +@11661 := proof(@11652 proof(@11654 @11659)) +@11662 := proof(@2839 @11642) +@11663 := proof(@2901 @11415) +@11665 := proof(@11662 proof(@2722 @11663)) +@11666 := proof(@7683 @2793) +@11669 := proof(@11661 proof(@11665 proof(@11666 @11415))) +@11671 := proof(@11645 proof(@11647 @11669)) +@11672 := proof(@2839 @11627) +@11673 := proof(@2751 @11624) +@11674 := proof(@11673 @11415) +@11676 := proof(@11672 proof(@2722 @11674)) +@11677 := proof(@7683 @11624) +@11680 := proof(@11671 proof(@11676 proof(@11677 @11415))) +@11681 := proof(@11638 @11680) +@11692 := proof(proof(proof(proof(@2784 @11607) proof(proof(@2574 @11649) @11497)) @11631) + proof(proof(proof(proof(proof(@7060 @11649) @2667) @11497) @11659) @11507)) +@11696 := proof(proof(@2839 @11631) proof(proof(@2574 @11663) @11497)) +@11697 := proof(@2908 @2802) +@11699 := proof(@11696 proof(@11697 @11415)) +@11700 := proof(@11692 @11699) +@11702 := proof(@11634 proof(@11681 @11700)) +@11703 := proof(@2839 @11613) +@11704 := proof(@2738 @11663) +@11705 := proof(@2751 @11610) +@11706 := proof(@11705 @11415) +@11708 := proof(@11703 proof(@11704 @11706)) +@11709 := proof(@4796 @11610) +@11711 := proof(@11708 proof(@11709 @11415)) +@11718 := proof(@11597 + proof(fun (h₁ : @11588) => + proof(@11599 proof(@11601 proof(@11603 proof(@11622 proof(@11702 @11711))))))) +@11719 := proof(@2738 @12) +@11721 := proof(proof(@2574 @11605) @2667) +@11722 := proof(@11719 @11721) +@11767 := proof(fun (a : @314) => + proof(fun (b : @314) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#197 : @11584) => + proof(@11718 + proof(fun (h₂ : @11591) => + proof(@11599 + proof(@11601 + proof(@11603 + proof(proof(proof(proof(proof(@2729 @11722) @11613) @552) + proof(proof(proof(@2775 @12) @11721) + proof(proof(proof(@2778 @11605) @12) @28))) + proof(proof(proof(proof(proof(@2784 @11722) + proof(proof(@2738 @11649) @11631)) + @11613) + proof(proof(proof(proof(proof(proof(@2809 @12) @11649) @11721) + @11631) + @11659) + proof(proof(proof(proof(proof(@2784 @11721) + proof(proof(@2574 @11627) @11497)) + @11631) + proof(proof(proof(proof(proof(proof(@2834 @11605) + @11627) + @2667) + @11497) + @11680) + @11507)) + @11699))) + @11711)))))))))) +@11768 := @553 @2558 +@11769 := @11768 @3 +@11770 := @547 @11769 +@11771 := @11768 @11421 +@11772 := @547 @11771 +@11776 := (a : @314) -> + (b : @314) -> + (h._@.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#79 : @11770) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#206 : @11772) -> @324 +@11777 := proof(@2664 @2723) +@11778 := proof(@2669 @11777) +@11779 := proof(@2661 @11778) +@11780 := proof(@2674 @11778) +@11782 := proof(proof(@200 @11780) @124) +@11783 := proof(@2673 @11782) +@11785 := proof(proof(@2679 @11780) @124) +@11795 := proof(proof(@11779 + proof(proof(@11783 @11785) + proof(proof(@350 proof(proof(@200 proof(proof(@339 @11782) @11785)) @124)) @125))) + @2763) +@11796 := proof(@11795 @11415) +@11802 := proof(proof(proof(proof(Lean.Omega.Constraint.combine_sat') @2714) + proof(proof(@2662 @2713) @11777)) + @2763) +@11803 := proof(@11802 @11415) +@11804 := proof(@2724 @2763) +@11805 := proof(@11804 @11415) +@11806 := proof(@2738 @2558) +@11808 := proof(proof(@2574 @11604) @2667) +@11809 := proof(@11806 @11808) +@11810 := proof(@2729 @11809) +@11811 := proof(@2761 @2693) +@11812 := proof(@2759 @11811) +@11813 := proof(@2768 @4745) +@11815 := proof(@2751 proof(@11812 @11813)) +@11816 := proof(@11815 @11415) +@11818 := proof(proof(@11810 @11816) @552) +@11819 := proof(@2775 @2558) +@11820 := proof(@11819 @11808) +@11822 := proof(proof(@2778 @11604) @2558) +@11824 := proof(proof(Lean.Omega.Int.lt_of_not_le) @2558) +@11829 := proof(@11818 proof(@11820 proof(@11822 proof(proof(@11824 @11604) @28)))) +@11830 := proof(@2784 @11809) +@11831 := proof(@2751 @11811) +@11832 := proof(@11831 @11415) +@11833 := proof(@2738 @11832) +@11836 := proof(@2751 proof(proof(@2792 @11624) @2802)) +@11837 := proof(@11836 @11415) +@11840 := proof(proof(@11830 proof(@11833 @11837)) @11816) +@11841 := proof(@2809 @2558) +@11842 := proof(@11841 @11832) +@11844 := proof(proof(@11842 @11808) @11837) +@11847 := proof(proof(@350 proof(@7179 @11832)) @5840) +@11848 := proof(@11844 @11847) +@11860 := proof(proof(proof(proof(@2784 @11808) proof(proof(@2574 @11642) @11497)) @11837) + proof(proof(proof(proof(proof(proof(@2834 @11604) @11642) @2667) @11497) @11669) @11507)) +@11864 := proof(proof(@2839 @11837) proof(proof(@2574 @11674) @11497)) +@11866 := proof(proof(@2892 @11624) @2802) +@11871 := proof(@11840 proof(@11848 proof(@11860 proof(@11864 proof(@11866 @11415))))) +@11872 := proof(@2839 @11816) +@11873 := proof(@2751 @11813) +@11876 := proof(@11872 proof(@11833 proof(@11873 @11415))) +@11877 := proof(@3000 @11811) +@11878 := proof(@11877 @11813) +@11884 := proof(@11803 proof(@11805 proof(@11829 proof(@11871 proof(@11876 proof(@11878 @11415)))))) +@11885 := proof(@2715 @4745) +@11886 := proof(@11885 @11415) +@11887 := proof(@2724 @4745) +@11888 := proof(@11887 @11415) +@11889 := proof(@11806 @11607) +@11890 := proof(@2729 @11889) +@11892 := proof(@2751 proof(@11812 @11610)) +@11893 := proof(@11892 @11415) +@11902 := proof(proof(proof(@11890 @11893) @552) + proof(proof(@11819 @11607) proof(proof(@11618 @2558) proof(proof(@11824 @12) @3)))) +@11911 := proof(proof(proof(proof(@2784 @11889) proof(@11833 @11631)) @11893) + proof(proof(proof(proof(@11842 @11607) @11631) @11847) @11700)) +@11914 := proof(proof(@2839 @11893) proof(@11833 @11706)) +@11915 := proof(@11877 @11610) +@11927 := proof(fun (a : @314) => + proof(fun (b : @314) => + proof(fun (h._@.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#79 : @11770) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#206 : @11772) => + proof(@11796 + proof(@11884 + proof(@11886 + proof(@11888 + proof(@11902 proof(@11911 proof(@11914 proof(@11915 @11415)))))))))))) +@11930 := @504 (@5214 @3 @28) +@11931 := @5206 @11769 +@11933 := Int.decLe @2558 +@11934 := @11933 @3 +@11935 := @11931 @11934 +@11936 := @11768 @28 +@11939 := @5206 @11936 (@11933 @28) +@11946 := @5301 @314 @314 @314 (@5305 @314 Int.instDiv) +@11947 := @11946 @3 +@11953 := @11935 (@11939 (@11947 @28) (@2722 (@11947 @7941))) +@11954 := @11946 @11400 +@11963 := (a : @314) -> (b : @314) -> @11930 (@11953 (@11939 (@2722 (@11954 @28)) (@11954 @7941))) +@11965 := proof(proof(Decidable.casesOn.{0}) @11769) +@11967 := proof(proof(Decidable) @11769) +@11968 := proof(@504 @5216) +@11969 := proof(@11768 @13) +@11970 := proof(@5206 @11969) +@11971 := proof(@11933 @13) +@11972 := proof(@11970 @11971) +@11973 := proof(@11946 @13) +@11978 := proof(proof(@11935 proof(@11973 @3)) proof(@2722 proof(@11973 @11400))) +@11979 := proof(@11972 @11978) +@11980 := proof(@11946 @11421) +@11985 := proof(proof(@11935 proof(@2722 proof(@11980 @3))) proof(@11980 @11400)) +@11986 := proof(@11979 @11985) +@11987 := proof(@11968 @11986) +@11990 := proof(proof(@11965 proof(fun (x : @11967) => @11987)) @11934) +@11991 := proof(@3156 @11987) +@11992 := proof(@11968 @11985) +@11993 := proof(@11991 @11992) +@11994 := proof(@316 @11987) +@11996 := proof(@350 proof(@11994 @11992)) +@11997 := proof(@3109 @11986) +@11999 := proof(proof(@11997 @11985) @11968) +@12004 := proof(proof(proof(proof(proof(if_neg.{1}) @11969) @11971) @28) @314) +@12009 := proof(@11993 proof(@11996 proof(@11999 proof(proof(@12004 @11978) @11985)))) +@12010 := proof(@504 @5272) +@12011 := proof(@11946 @11604) +@12012 := proof(@12011 @13) +@12013 := proof(@2722 @12012) +@12014 := proof(@11972 @12013) +@12015 := proof(@12011 @11421) +@12016 := proof(@12014 @12015) +@12017 := proof(@12010 @12016) +@12020 := proof(proof(@11965 proof(fun (x : @11967) => @12017)) @11934) +@12021 := proof(@3156 @12017) +@12022 := proof(@12010 @12015) +@12023 := proof(@12021 @12022) +@12024 := proof(@316 @12017) +@12026 := proof(@350 proof(@12024 @12022)) +@12027 := proof(@3109 @12016) +@12034 := proof(@12023 + proof(@12026 proof(proof(proof(@12027 @12015) @12010) proof(proof(@12004 @12013) @12015)))) +@12035 := proof(@3156 @12022) +@12036 := proof(@5214 @11605) +@12037 := proof(@12036 @13) +@12038 := proof(@504 @12037) +@12039 := proof(@2722 @11605) +@12040 := proof(@11946 @12039) +@12042 := proof(@12038 proof(@12040 @11421)) +@12043 := proof(@12035 @12042) +@12046 := proof(@350 proof(proof(@316 @12022) @12042)) +@12048 := proof(proof(@3109 @12) @11605) +@12051 := proof(@504 proof(proof(@5214 @28) @12)) +@12052 := proof(@11946 @7941) +@12056 := proof(@12048 proof(fun (_a : @314) => proof(@12051 proof(@12052 @11604)))) +@12057 := proof(@505 @11605) +@12061 := proof(proof(@3195 @12057) proof(proof(@3197 @12) @11605)) +@12062 := proof(@547 @12057) +@12066 := proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_2) + @19) + @12) + @28) +@12072 := proof(@12043 + proof(@12046 + proof(@12056 + proof(have this : @12057 := proof(@12061 + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#256 : @12062) => + @12066)); + @28)))) +@12073 := proof(@3156 @12042) +@12074 := proof(@12036 @11422) +@12075 := proof(@504 @12074) +@12076 := proof(@2722 @11422) +@12077 := proof(@12040 @12076) +@12078 := proof(@12075 @12077) +@12079 := proof(@12073 @12078) +@12082 := proof(@350 proof(proof(@316 @12042) @12078)) +@12084 := proof(proof(@3109 @13) @11422) +@12085 := proof(@2722 @19) +@12086 := proof(@2722 @12085) +@12089 := proof(@504 proof(proof(@5214 @12086) @28)) +@12091 := proof(@11946 proof(@2722 @12086)) +@12095 := proof(@12084 proof(fun (_a : @314) => proof(@12089 proof(@12091 @7941)))) +@12097 := proof(proof(@504 @13) @11422) +@12101 := proof(proof(@3195 @12097) proof(proof(@3197 @13) @11422)) +@12102 := proof(@547 @12097) +@12106 := proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_1) + @19) + @12) + @28) +@12112 := proof(@12079 + proof(@12082 + proof(@12095 + proof(have this : @12097 := proof(@12101 + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#277 : @12102) => + @12106)); + @28)))) +@12113 := proof(@3156 @12078) +@12114 := proof(@5214 @11604) +@12115 := proof(@12114 @11422) +@12116 := proof(@2722 @12115) +@12118 := proof(proof(@504 @12116) @12077) +@12119 := proof(@12113 @12118) +@12122 := proof(@350 proof(proof(@316 @12078) @12118)) +@12124 := proof(proof(@3109 @12074) @12116) +@12125 := proof(@12091 @12039) +@12127 := proof(fun (_a : @314) => proof(@3100 @12125)) +@12128 := proof(@12124 @12127) +@12130 := proof(proof(Int.neg_tdiv) @11604) +@12134 := proof(@12119 proof(@12122 proof(@12128 proof(@12130 @11422)))) +@12135 := proof(@3156 @12118) +@12136 := proof(@12114 @11421) +@12137 := proof(@2722 @12136) +@12140 := proof(proof(@504 proof(@2722 @12137)) @12077) +@12141 := proof(@12135 @12140) +@12144 := proof(@350 proof(proof(@316 @12118) @12140)) +@12146 := proof(proof(@3109 @12115) @12137) +@12147 := proof(@504 @7941) +@12150 := proof(@12146 proof(fun (_a : @314) => proof(@12147 @12125))) +@12151 := proof(Int.tdiv_neg) +@12156 := proof(@12141 proof(@12144 proof(@12150 proof(proof(@12151 @11604) @11421)))) +@12157 := proof(@3156 @12140) +@12159 := proof(@2722 proof(@2722 @12015)) +@12161 := proof(proof(@504 @12159) @12077) +@12162 := proof(@12157 @12161) +@12165 := proof(@350 proof(proof(@316 @12140) @12161)) +@12171 := proof(proof(proof(@3109 @12136) @12015) + proof(fun (_a : @314) => proof(proof(@504 @11394) @12125))) +@12172 := proof(Int.tdiv_eq_ediv_of_nonneg) +@12173 := proof(@12172 @11604) +@12174 := proof(@12173 @11421) +@12175 := proof(@11768 @11604) +@12178 := proof(proof(@3195 @12175) proof(@11933 @11604)) +@12179 := proof(@547 @12175) +@12184 := proof(proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tdiv_ediv._proof_1_3) + @19) + @12) + @13) + @28) +@12190 := proof(@12162 + proof(@12165 + proof(@12171 + proof(@12174 + proof(@12178 + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#287 : @12179) => + @12184)))))) +@12191 := proof(@3156 @12161) +@12192 := proof(@504 @12015) +@12193 := proof(@12192 @12077) +@12194 := proof(@12191 @12193) +@12197 := proof(@350 proof(proof(@316 @12161) @12193)) +@12200 := proof(proof(proof(@3109 @12159) @12015) @12127) +@12201 := proof(Int.neg_neg) +@12205 := proof(@12194 proof(@12197 proof(@12200 proof(@12201 @12015)))) +@12206 := proof(@3156 @12193) +@12208 := proof(@12192 proof(@12011 @12076)) +@12209 := proof(@12206 @12208) +@12212 := proof(@350 proof(proof(@316 @12193) @12208)) +@12214 := proof(proof(@3109 @12039) @11604) +@12215 := proof(@11946 @12085) +@12217 := proof(@504 proof(@12215 @11604)) +@12218 := proof(@11946 @28) +@12222 := proof(@12214 proof(fun (_a : @314) => proof(@12217 proof(@12218 @12039)))) +@12223 := proof(@12201 @11604) +@12226 := proof(@12209 proof(@12212 proof(@12222 @12223))) +@12227 := proof(@3156 @12208) +@12228 := proof(@12192 @12015) +@12229 := proof(@12227 @12228) +@12232 := proof(@350 proof(proof(@316 @12208) @12228)) +@12234 := proof(proof(@3109 @12076) @11421) +@12238 := proof(@12234 proof(fun (_a : @314) => proof(@12217 proof(@12215 @28)))) +@12239 := proof(@12201 @11421) +@12254 := proof(@12020 + proof(fun (h._@.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#92 : @11770) => + proof(@12034 + proof(@12072 + proof(@12112 + proof(@12134 + proof(@12156 + proof(@12190 + proof(@12205 + proof(@12226 + proof(proof(@12229 proof(@12232 proof(@12238 @12239))) + proof(@2976 @12015)))))))))))) +@12255 := proof(@12010 @12013) +@12256 := proof(@12021 @12255) +@12258 := proof(@350 proof(@12024 @12255)) +@12260 := proof(proof(@12027 @12013) @12010) +@12265 := proof(proof(proof(proof(proof(if_pos.{1}) @11969) @11971) @28) @314) +@12270 := proof(@12256 proof(@12258 proof(@12260 proof(proof(@12265 @12013) @12015)))) +@12271 := proof(@3156 @12255) +@12273 := proof(@2722 proof(@12040 @13)) +@12274 := proof(@12038 @12273) +@12289 := proof(proof(@12271 @12274) + proof(proof(@350 proof(proof(@316 @12255) @12274)) + proof(proof(@12048 proof(fun (_a : @314) => proof(@12051 proof(@2722 proof(@12052 @12))))) + proof(have this : @12057 := proof(@12061 + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#197 : @12062) => + @12066)); + @28)))) +@12290 := proof(@3156 @12274) +@12291 := proof(@12114 @13) +@12292 := proof(@2722 @12291) +@12294 := proof(proof(@504 @12292) @12273) +@12295 := proof(@12290 @12294) +@12298 := proof(@350 proof(proof(@316 @12274) @12294)) +@12300 := proof(proof(@3109 @12037) @12292) +@12302 := proof(@2722 proof(@12091 @12)) +@12309 := proof(@12295 + proof(@12298 + proof(proof(@12300 proof(fun (_a : @314) => proof(@3100 @12302))) proof(@12130 @13)))) +@12310 := proof(@3156 @12294) +@12311 := proof(@504 @12013) +@12312 := proof(@12311 @12273) +@12328 := proof(proof(@12310 @12312) + proof(proof(@350 proof(proof(@316 @12294) @12312)) + proof(proof(proof(proof(@3109 @12291) @12012) + proof(fun (_a : @314) => proof(@12147 @12302))) + proof(proof(@12173 @13) + proof(@12178 + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#206 : @12179) => + @12184)))))) +@12329 := proof(@3156 @12312) +@12330 := proof(@12311 @12013) +@12356 := proof(@11990 + proof(fun (h._@.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#79 : @11770) => + proof(@12009 + proof(@12254 + proof(fun (h._@.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#92 : @11769) => + proof(@12270 + proof(@12289 + proof(@12309 + proof(@12328 + proof(proof(proof(@12329 @12330) + proof(proof(@350 proof(proof(@316 @12312) @12330)) + proof(proof(@12214 + proof(fun (_a : @314) => + proof(proof(@504 proof(@2722 proof(@12215 @12))) + proof(@2722 proof(@12218 @12))))) + @12223))) + proof(@2976 @12013))))))))))) +@12357 := proof(@11968 @11978) +@12367 := proof(proof(@11991 @12357) + proof(proof(@350 proof(@11994 @12357)) + proof(proof(proof(@11997 @11978) @11968) proof(proof(@12265 @11978) @11985)))) +@12368 := proof(@11946 @12) +@12369 := proof(@12368 @13) +@12370 := proof(@11972 @12369) +@12371 := proof(@12368 @11421) +@12372 := proof(@2722 @12371) +@12373 := proof(@12370 @12372) +@12374 := proof(@12010 @12373) +@12377 := proof(proof(@11965 proof(fun (x : @11967) => @12374)) @11934) +@12378 := proof(@3156 @12374) +@12379 := proof(@12010 @12372) +@12380 := proof(@12378 @12379) +@12381 := proof(@316 @12374) +@12383 := proof(@350 proof(@12381 @12379)) +@12384 := proof(@3109 @12373) +@12391 := proof(@12380 + proof(@12383 proof(proof(proof(@12384 @12372) @12010) proof(proof(@12004 @12369) @12372)))) +@12392 := proof(@3156 @12379) +@12393 := proof(@5271 @11422) +@12394 := proof(@504 @12393) +@12396 := proof(@2722 proof(@12368 @12076)) +@12397 := proof(@12394 @12396) +@12398 := proof(@12392 @12397) +@12401 := proof(@350 proof(proof(@316 @12379) @12397)) +@12404 := proof(@504 proof(proof(@5214 @19) @28)) +@12405 := proof(@11946 @19) +@12416 := proof(@12398 + proof(@12401 + proof(proof(@12084 + proof(fun (_a : @314) => proof(@12404 proof(@2722 proof(@12405 @7941))))) + proof(have this : @12097 := proof(@12101 + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#136 : @12102) => + @12106)); + @28)))) +@12417 := proof(@3156 @12397) +@12418 := proof(@5271 @11421) +@12419 := proof(@2722 @12418) +@12421 := proof(proof(@504 @12419) @12396) +@12422 := proof(@12417 @12421) +@12425 := proof(@350 proof(proof(@316 @12397) @12421)) +@12427 := proof(proof(@3109 @12393) @12419) +@12429 := proof(@2722 proof(@12405 @12039)) +@12437 := proof(@12422 + proof(@12425 + proof(proof(@12427 proof(fun (_a : @314) => proof(@3100 @12429))) + proof(proof(@12151 @12) @11421)))) +@12438 := proof(@3156 @12421) +@12439 := proof(@504 @12372) +@12440 := proof(@12439 @12396) +@12441 := proof(@12438 @12440) +@12444 := proof(@350 proof(proof(@316 @12421) @12440)) +@12449 := proof(proof(proof(@3109 @12418) @12371) proof(fun (_a : @314) => proof(@12147 @12429))) +@12450 := proof(@12172 @12) +@12455 := proof(@12441 proof(@12444 proof(@12449 proof(proof(@12450 @11421) @3)))) +@12456 := proof(@3156 @12440) +@12457 := proof(@12439 @12372) +@12480 := proof(@12377 + proof(fun (h._@.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#87 : @11770) => + proof(@12391 + proof(@12416 + proof(@12437 + proof(@12455 + proof(proof(proof(@12456 @12457) + proof(proof(@350 proof(proof(@316 @12440) @12457)) + proof(proof(@12234 + proof(fun (_a : @314) => + proof(proof(@504 proof(@2722 proof(@12405 @11604))) + proof(@2722 proof(@12405 @28))))) + @12239))) + proof(@2976 @12372)))))))) +@12481 := proof(@12010 @12369) +@12501 := proof(fun (a : @314) => + proof(fun (b : @314) => + proof(@12356 + proof(fun (h._@.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#79 : @11769) => + proof(@12367 + proof(@12480 + proof(fun (h._@.LexLeanRuntime.Laws.#3339684452._hygCtx._hyg.#87 : @11769) => + proof(proof(proof(@12378 @12481) + proof(proof(@350 proof(@12381 @12481)) + proof(proof(proof(@12384 @12369) @12010) + proof(proof(@12265 @12369) @12372)))) + proof(proof(@12450 @13) @3))))))))) +@12503 := (a : @314) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#79 : @11396) -> @324 +@12504 := proof(@2698 @11413) +@12505 := proof(@11598 @12504) +@12506 := proof(@11600 @12504) +@12507 := proof(@11602 @12504) +@12508 := proof(@11612 @12504) +@12511 := proof(proof(proof(@11426 @12508) @552) @11438) +@12512 := proof(@11626 @12504) +@12513 := proof(@2738 @12512) +@12514 := proof(@11630 @12504) +@12517 := proof(proof(@11440 proof(@12513 @12514)) @12508) +@12520 := proof(proof(proof(@11451 @12512) @11424) @12514) +@12521 := proof(@11641 @12504) +@12524 := proof(proof(@11455 proof(@2722 @12521)) @12512) +@12525 := proof(@11460 @12521) +@12526 := proof(@2820 @12504) +@12529 := proof(proof(@11462 proof(@2722 @12526)) @12521) +@12530 := proof(@11467 @12526) +@12534 := proof(proof(proof(@2839 @12526) @13) proof(@2843 @2693)) +@12536 := proof(@12529 proof(@12530 @12534)) +@12537 := proof(@2839 @12521) +@12538 := proof(@2901 @12504) +@12543 := proof(@12536 proof(proof(@12537 proof(@2722 @12538)) proof(@11666 @12504))) +@12545 := proof(@12524 proof(@12525 @12543)) +@12546 := proof(@2839 @12512) +@12547 := proof(@11673 @12504) +@12552 := proof(@12545 proof(proof(@12546 proof(@2722 @12547)) proof(@11677 @12504))) +@12553 := proof(@12520 @12552) +@12554 := proof(@2574 @12526) +@12555 := proof(@2921 @12504) +@12558 := proof(proof(@11495 proof(@12554 @12555)) @12514) +@12562 := proof(proof(proof(proof(@2835 @12526) @2667) @12555) @12534) +@12565 := proof(proof(@350 proof(@2973 @12555)) @2977) +@12567 := proof(@12558 proof(@12562 @12565)) +@12573 := proof(proof(proof(@2839 @12514) proof(proof(@2574 @12538) @12555)) proof(@11697 @12504)) +@12574 := proof(@12567 @12573) +@12576 := proof(@12517 proof(@12553 @12574)) +@12577 := proof(@2839 @12508) +@12578 := proof(@2738 @12538) +@12579 := proof(@11705 @12504) +@12583 := proof(proof(@12577 proof(@12578 @12579)) proof(@11709 @12504)) +@12623 := proof(fun (a : @314) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#79 : @11396) => + proof(proof(@11411 + proof(fun (h₁ : @11402) => + proof(@12505 proof(@12506 proof(@12507 proof(@12511 proof(@12576 @12583))))))) + proof(fun (h₂ : @11405) => + proof(@12505 + proof(@12506 + proof(@12507 + proof(proof(proof(proof(@11539 @12508) @552) @11547) + proof(proof(proof(proof(@11549 proof(proof(@2738 @12526) @12514)) + @12508) + proof(proof(proof(proof(proof(@4785 @12526) @11537) @12514) + @12534) + proof(proof(proof(proof(@11558 + proof(proof(@2574 @12512) @12555)) + @12514) + proof(proof(proof(proof(proof(@11563 @12512) @2667) + @12555) + @12552) + @12565)) + @12573))) + @12583))))))))) +@12624 := @547 @11936 +@12626 := @547 (@11768 @11400) +@12629 := (a : @314) -> + (h._@.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#35 : @12624) -> + (a._@._internal.#0.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#88 : @12626) -> @324 +@12630 := proof(@11795 @12504) +@12631 := proof(@11802 @12504) +@12632 := proof(@11804 @12504) +@12634 := proof(proof(@2574 @11421) @2667) +@12635 := proof(@11806 @12634) +@12636 := proof(@2729 @12635) +@12637 := proof(@11815 @12504) +@12647 := proof(proof(proof(@12636 @12637) @552) + proof(proof(@11819 @12634) + proof(proof(proof(@2778 @11421) @2558) proof(proof(@11824 @11421) @28)))) +@12648 := proof(@2784 @12635) +@12649 := proof(@11831 @12504) +@12650 := proof(@2738 @12649) +@12651 := proof(@11836 @12504) +@12654 := proof(proof(@12648 proof(@12650 @12651)) @12637) +@12655 := proof(@11841 @12649) +@12657 := proof(proof(@12655 @12634) @12651) +@12660 := proof(proof(@350 proof(@7179 @12649)) @5840) +@12692 := proof(@12631 + proof(@12632 + proof(@12647 + proof(proof(@12654 + proof(proof(@12657 @12660) + proof(proof(proof(proof(proof(@2784 @12634) + proof(proof(@2574 @12521) @12555)) + @12651) + proof(proof(proof(proof(proof(proof(@2834 @11421) @12521) @2667) + @12555) + @12543) + @12565)) + proof(proof(proof(@2839 @12651) proof(proof(@2574 @12547) @12555)) + proof(@11866 @12504))))) + proof(proof(proof(@2839 @12637) proof(@12650 proof(@11873 @12504))) + proof(@11878 @12504)))))) +@12693 := proof(@11885 @12504) +@12694 := proof(@11887 @12504) +@12695 := proof(@11806 @11424) +@12696 := proof(@2729 @12695) +@12697 := proof(@11892 @12504) +@12729 := proof(fun (a : @314) => + proof(fun (h._@.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#35 : @12624) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#88 : @12626) => + proof(@12630 + proof(@12692 + proof(@12693 + proof(@12694 + proof(proof(proof(proof(@12696 @12697) @552) + proof(proof(@11819 @11424) + proof(proof(@11435 @2558) proof(proof(@11824 @13) @3)))) + proof(proof(proof(proof(proof(@2784 @12695) proof(@12650 @12514)) + @12697) + proof(proof(proof(proof(@12655 @11424) @12514) @12660) @12574)) + proof(proof(proof(@2839 @12697) proof(@12650 @12579)) + proof(@11915 @12504))))))))))) +@12732 := @504 (@5389 @3 @28) +@12739 := @5447 @314 @314 @314 (@5451 @314 Int.instMod) +@12749 := (a : @314) -> (b : @314) -> @12732 (@11935 (@12739 @3 @28) (@2722 (@12739 @11400 @28))) +@12750 := proof(@504 @5391) +@12752 := proof(proof(@12739 @13) @3) +@12753 := proof(@11972 @12752) +@12755 := proof(proof(@12739 @11421) @3) +@12756 := proof(@2722 @12755) +@12757 := proof(@12753 @12756) +@12758 := proof(@12750 @12757) +@12761 := proof(proof(@11965 proof(fun (x : @11967) => @12758)) @11934) +@12762 := proof(@3156 @12758) +@12763 := proof(@12750 @12756) +@12764 := proof(@12762 @12763) +@12765 := proof(@316 @12758) +@12767 := proof(@350 proof(@12765 @12763)) +@12768 := proof(@3109 @12757) +@12775 := proof(@12764 + proof(@12767 proof(proof(proof(@12768 @12756) @12750) proof(proof(@12004 @12752) @12756)))) +@12776 := proof(@3156 @12763) +@12778 := proof(proof(@5389 @11422) @3) +@12779 := proof(@504 @12778) +@12782 := proof(@2722 proof(proof(@12739 @12076) @3)) +@12783 := proof(@12779 @12782) +@12805 := proof(proof(@12776 @12783) + proof(proof(@350 proof(proof(@316 @12763) @12783)) + proof(proof(@12084 + proof(fun (_a : @314) => + proof(proof(@504 proof(proof(@5389 @28) @13)) + proof(@2722 proof(proof(@12739 @7941) @13))))) + proof(have this : @12097 := proof(@12101 + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#79 : @12102) => + proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tmod_emod._proof_1_1) + @12) + @28))); + @28)))) +@12806 := proof(@3156 @12783) +@12808 := proof(proof(@5389 @11421) @3) +@12809 := proof(@2722 @12808) +@12811 := proof(proof(@504 @12809) @12782) +@12812 := proof(@12806 @12811) +@12815 := proof(@350 proof(proof(@316 @12783) @12811)) +@12817 := proof(proof(@3109 @12778) @12809) +@12820 := proof(@2722 proof(proof(@12739 @12039) @13)) +@12829 := proof(@12812 + proof(@12815 + proof(proof(@12817 proof(fun (_a : @314) => proof(@3100 @12820))) + proof(proof(proof(Int.neg_tmod) @11421) @3)))) +@12830 := proof(@3156 @12811) +@12831 := proof(@504 @12756) +@12832 := proof(@12831 @12782) +@12833 := proof(@12830 @12832) +@12836 := proof(@350 proof(proof(@316 @12811) @12832)) +@12841 := proof(proof(proof(@3109 @12808) @12755) proof(fun (_a : @314) => proof(@12147 @12820))) +@12842 := proof(Int.tmod_eq_emod_of_nonneg) +@12857 := proof(@12833 + proof(@12836 + proof(@12841 + proof(proof(proof(@12842 @11421) @3) + proof(proof(proof(@3195 @11771) proof(@11933 @11421)) + proof(fun (a._@._internal.#0.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#88 : @11772) => + proof(proof(proof(proof(_private.LexLeanRuntime.Laws.#0.LexLeanLaws.tmod_emod._proof_1_2) + @12) + @3) + @28))))))) +@12858 := proof(@3156 @12832) +@12859 := proof(@12831 @12756) +@12884 := proof(@12761 + proof(fun (h._@.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#35 : @11770) => + proof(@12775 + proof(@12805 + proof(@12829 + proof(@12857 + proof(proof(proof(@12858 @12859) + proof(proof(@350 proof(proof(@316 @12832) @12859)) + proof(proof(@12234 + proof(fun (_a : @314) => + proof(proof(@504 + proof(@2722 proof(proof(@12739 @11604) @13))) + proof(@2722 proof(proof(@12739 @28) @13))))) + @12239))) + proof(@2976 @12756)))))))) +@12885 := proof(@12750 @12752) +@12903 := proof(fun (a : @314) => + proof(fun (b : @314) => + proof(@12884 + proof(fun (h._@.LexLeanRuntime.Laws.#3906104456._hygCtx._hyg.#35 : @11769) => + proof(proof(proof(@12762 @12885) + proof(proof(@350 proof(@12765 @12885)) + proof(proof(proof(@12768 @12752) @12750) proof(proof(@12265 @12752) @12756)))) + proof(proof(proof(@12842 @13) @3) @28)))))) +@12905 := LexLeanRuntime.Quotient @28 +@12910 := @5197 @19 @12 @13 @3 @28 +@12911 := @3808 @12910 +@12912 := @5205 @19 +@12915 := @5235 @19 @12 @3 +@12922 := @12912 (@200 @12915 @124) (@2679 @12915 @124) @28 +@12933 := {α : @197} -> + [inst._@.LexLeanRuntime.Portable.#2403509443._hygCtx._hyg.#3 : @12905] -> + (left : @3) -> (right : @13) -> (zeroCase : @12) -> @12911 (@12922 (@5244 @19 @12 @13 @3)) +@12934 := proof(@121 @19) +@12940 := proof(fun {α : @197} => + proof(fun [inst : @12905] => + proof(fun (left : @3) => + proof(fun (right : @13) => proof(fun (zeroCase : @12) => proof(@12934 @12910)))))) +@12945 := @5382 @19 @12 @13 @3 @28 +@12957 := {α : @197} -> + [inst._@.LexLeanRuntime.Portable.#2801245371._hygCtx._hyg.#3 : @12905] -> + (left : @3) -> (right : @13) -> (zeroCase : @12) -> @3808 @12945 (@12922 (@5408 @19 @12 @13 @3)) +@12963 := proof(fun {α : @197} => + proof(fun [inst : @12905] => + proof(fun (left : @3) => + proof(fun (right : @13) => proof(fun (zeroCase : @12) => proof(@12934 @12945)))))) +@12964 := (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @0) -> @2494 +@12965 := ("_" : @216) -> @5 +@12966 := (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#25 : @0) -> @6379 +@12967 := Eq.{u_1} +@12968 := @13 @4 +@12969 := @12967 @12968 +@12970 := LexLeanCollections.lessThan.match_1.{u_1} +@12974 := @12970 @13 @4 @3 @28 +@12979 := (motive : @12964) -> (h_1 : @12965) -> (h_2 : @12966) -> @12969 @12974 @2520 +@12980 := proof(Eq.refl.{u_1}) +@12985 := proof(fun (motive._@._hyg.#3 : @12964) => + proof(fun (h_1._@._hyg.#4 : @12965) => + proof(fun (h_2._@._hyg.#5 : @12966) => proof(proof(@12980 @12968) @12974)))) +@12989 := {motive : @2} -> (t : @0) -> (lt : @5) -> (else._@._hyg.#14 : @15) -> @14 +@12994 := Ordering.rec.{u} (fun (t : @0) => (else._@._hyg.#14 : (h : @38) -> @4087) -> @4087) +@12995 := proof(@12 @4) +@12998 := @12994 (fun (else._@._hyg.#14 : (h : @65) -> @12995) => @3) +@13000 := (h : @155) -> @12 @153 +@13001 := proof(Nat.ne_of_beq_eq_false) +@13005 := proof(proof(@13001 proof(@98 proof(@100 @7))) @107) +@13006 := proof(@123 @219) +@13008 := proof(@28 proof(@13005 @13006)) +@13010 := @12998 (fun (else._@._hyg.#14 : @13000) => @13008) +@13012 := (h : @173) -> @12 @171 +@13018 := proof(@28 proof(proof(proof(@13001 proof(@98 proof(@100 @2852))) @107) @13006)) +@13024 := fun {motive : @2} => + fun (t : @0) => fun (lt : @5) => @13010 (fun (else._@._hyg.#14 : @13012) => @13018) @3 +@13025 := ("_" : @216) -> @12968 +@13026 := (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#25 : @0) -> @6377 +@13029 := (x._@._hyg.#2.#6 : @352 @13 @4) -> @324 +@13035 := @12967 @20 (@12970 @19 @12 @13 @3) +@13036 := @3 @12 +@13037 := @13035 @13036 +@13042 := (motive : @12964) -> + (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#25 : @0) -> + (h_1 : @13025) -> (h_2 : @13026) -> (x._@._hyg.#8 : @13029) -> @13037 +@13043 := proof(@350 @13037) +@13044 := proof(_private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.splitter._sparseCasesOn_2.{0}) +@13046 := @352 @28 @4 +@13047 := proof((x._@._hyg.#2.#6 : @13046) -> @324) +@13048 := proof(@12967 @40) +@13049 := proof(LexLeanCollections.lessThan._sparseCasesOn_1.{u_1}) +@13050 := proof(fun (x : @0) => @3125) +@13051 := proof(@13049 @13050) +@13052 := proof(@13051 @3) +@13053 := proof(@19 @2519) +@13062 := proof(proof(@13044 + proof(fun (x : @0) => + proof((x._@._hyg.#8.#13 : @13047) -> + proof(proof(@13048 + proof(proof(@13052 @13053) + proof(fun (h._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#30 : @11) => + @5969))) + @2608)))) + @12) +@13064 := proof(proof(@352 @4) @4) +@13065 := proof((x._@._hyg.#2.#6 : @13064) -> @324) +@13066 := proof(@12967 @67) +@13067 := proof(fun (x : @0) => @3086) +@13069 := proof(proof(@13049 @13067) @4) +@13070 := proof(@12 @2519) +@13071 := proof(@13069 @13070) +@13072 := proof(fun (h._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#30 : @65) => @12995) +@13076 := proof(@350 proof(proof(@13066 proof(@13071 @13072)) @12968)) +@13078 := proof(@12967 proof(@13067 @4)) +@13079 := proof(Ordering.rec.{u_1}) +@13081 := proof(proof(fun (x : @0) => @3139) @3) +@13113 := proof(@13062 + proof(fun (x._@._hyg.#8.#13 : @13065) => + proof(@13076 + proof(proof(@350 + proof(proof(@13078 + proof(proof(proof(proof(proof(proof(@13079 + proof(fun (t : @0) => + proof((else._@._hyg.#2 : proof((h : @38) -> @13081)) -> + @13081))) + proof(fun (else._@._hyg.#2 : proof((h : @65) -> + proof(@13050 @4))) => + @13053)) + proof(fun (else._@._hyg.#2 : proof((h : @155) -> + proof(@13050 @153))) => + @13008)) + proof(fun (else._@._hyg.#2 : proof((h : @173) -> + proof(@13050 @171))) => + @13018)) + @4) + @13072)) + @12968)) + proof(proof(proof(proof(@89 @13064) proof(proof(@13066 @13070) @12968)) + proof(@462 @4)) + @28))))) +@13114 := proof(@8 @189) +@13117 := proof((x._@._hyg.#2.#6 : proof(proof(@352 @19) @4)) -> @324) +@13118 := proof(@39 @66) +@13119 := proof(@12967 @13118) +@13121 := proof(proof(@13051 @66) @13053) +@13122 := proof(@8 @69) +@13123 := proof(@19 @39) +@13124 := proof(fun (h._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#30 : @13122) => + @13123) +@13125 := proof(@13121 @13124) +@13126 := proof(@13119 @13125) +@13127 := proof(@12 @66) +@13128 := proof(@13126 @13127) +@13129 := proof(@3156 @13128) +@13131 := proof(proof(@13119 @13127) @13127) +@13168 := proof(fun (motive._@._hyg.#9 : @12964) => + proof(fun (x._@.LexLeanRuntime.Collections.#739993983._hygCtx.#25._hyg.#10 : @0) => + proof(fun (h_1._@._hyg.#11 : @13025) => + proof(fun (h_2._@._hyg.#12 : @13026) => + proof(fun (x._@._hyg.#8.#13 : @13029) => + proof(@13043 + proof(proof(@13113 + proof(fun (h._@._hyg.#15 : @13114) => + proof(fun (x._@._hyg.#8.#13 : @13117) => + proof(proof(proof(@13129 @13131) + proof(proof(@350 proof(proof(@316 @13128) @13131)) + proof(proof(proof(proof(proof(proof(proof(congrArg.{u_1, 1}) + @13118) + @315) + @13125) + @13127) + proof(fun (_a : @13118) => + proof(proof(proof(@12967 proof(@81 @39)) @28) @13123))) + proof(proof(proof(proof(proof(proof(LexLeanCollections.lessThan._sparseCasesOn_1.else_eq.{u_1}) + @13050) + @66) + @13053) + @13124) + @3)))) + proof(proof(@12980 @13118) @13127))))) + @28))))))) +@13171 := (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#25 : @0) -> + (x._@._hyg.#18 : (x._@._hyg.#16.#17 : @13046) -> @324) -> @4087 +@13175 := (motive : @12964) -> + (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @0) -> + (h_1 : @13025) -> (h_2 : @13171) -> @14 +@13204 := fun (motive : @12964) => + fun (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @0) => + fun (h_1 : @13025) => + fun (h_2 : @13171) => + _private.LexLeanRuntime.Laws.#0.LexLeanCollections.lessThan.match_1.splitter._sparseCasesOn_2.{u_1} + (fun (x : @0) => @2515) + @13 + @2520 + (fun (h._@._hyg.#20 : @17) => + @13036 + (fun (x._@._hyg.#16.#17.#21 : @352 @12 @4) => + @383 + (fun (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @0) => + (h._@._hyg.#20 : @38) -> @324) + (fun (h._@._hyg.#20 : @65) => @109 @324 @126 @28) + @19 + (@457 @19 @4 @28) + @3)) +@13206 := ("_" : @216) -> @3 @7180 +@13211 := (x : @13) -> (xs : @235) -> @12 (@3876 @3 @28) +@13212 := @12967 @2498 +@13217 := @5602 @12 @13 @2497 @3 @28 +@13223 := {α : @197} -> (motive : @2495) -> (h_1 : @13206) -> (h_2 : @13211) -> @13212 @13217 @2520 +@13229 := proof(fun {α._@._hyg.#3 : @197} => + proof(fun (motive._@._hyg.#4 : @2495) => + proof(fun (h_1._@._hyg.#5 : @13206) => + proof(fun (h_2._@._hyg.#6 : @13211) => proof(proof(@12980 @2498) @13217))))) +@13231 := ("_" : @216) -> @12 @2552 +@13236 := (x : @19) -> (xs : @2522) -> @66 (@3902 @3 @28) +@13238 := @2502 @12 @13 +@13239 := @19 @13238 +@13240 := @12967 @13239 +@13245 := @5602 @66 @19 @13238 @3 @28 +@13255 := {α : @197} -> + (motive : @2495) -> + (x : @3) -> (xs : @265) -> (h_1 : @13231) -> (h_2 : @13236) -> @13240 @13245 (@28 @12 @13) +@13263 := proof(fun {α._@._hyg.#8 : @197} => + proof(fun (motive._@._hyg.#9 : @2495) => + proof(fun (x._@._hyg.#10 : @3) => + proof(fun (xs._@._hyg.#11 : @265) => + proof(fun (h_1._@._hyg.#12 : @13231) => + proof(fun (h_2._@._hyg.#13 : @13236) => proof(proof(@12980 @13239) @13245))))))) +\end{coremodule} +\end{lexlean} diff --git a/language/semantics-1.2.toml b/language/semantics-1.2.toml index 13f78127a..070cee99b 100644 --- a/language/semantics-1.2.toml +++ b/language/semantics-1.2.toml @@ -4,14 +4,14 @@ project_schema = "lexlean/project/1" lock_schema = "lexlean/lock/2" lexicon_schema = "lexlean/lexicon/1" entry_schema = "lexlean/entry/1" -lean_backend = "17" +lean_backend = "18" latex_backend = "11" rust_backend = "3" rust_runtime_core = "7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95" rust_renderer = "86f9acda75e8ed09095bcc05b433541b2ccec4265d54ce08a4f77ff5f316a586" rust_runtime_std = "3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c" -semantic_ir = "10" +semantic_ir = "11" semantic_snapshot = "2" -proof_lowering = "2" +proof_lowering = "3" axiom_parser = "lean-4.32.1/2" canonical_json = "1" diff --git a/model/ids.toml b/model/ids.toml index d3fabb8f4..8671192af 100644 --- a/model/ids.toml +++ b/model/ids.toml @@ -896,6 +896,30 @@ level = "build" suite = "proofs" statement = "The language-1.2 linear_arithmetic proof form names only the prior document definitions it unfolds, lowers to one fixed omega script, proves true linear obligations, and is refused by Lean on a false one." +[[id]] +id = "PF-20" +level = "build" +suite = "proofs" +statement = "Under language 1.2 the order propositions <= and < take two operands of one integer type, Nat, Int, or one fixed-width type, and lower to Lean's order on that type; language 1.1 keeps them over Nat only." + +[[id]] +id = "PF-21" +level = "build" +suite = "proofs" +statement = "The language-1.2 linear_arithmetic proof form reads the runtime: it rewrites less_than, equal, negate, quotient, remainder, and fixed-width order and equality into linear arithmetic over mathematical values, splits every if and match left in the goal, proves integer kernels for all inputs, and is refused by Lean on a false one." + +[[id]] +id = "PF-22" +level = "build" +suite = "proofs" +statement = "The runtime module LexLeanRuntime.Laws states the fold laws as LexLean source with every row's axioms pinned, and linear_arithmetic rewrites additive list, set, and map folds into sums that are linear and invariant under append and reverse, so fold equalities verify for all inputs with decide only on closed instances." + +[[id]] +id = "PF-23" +level = "build" +suite = "proofs" +statement = "The language-1.2 law proof form applies one registered fold law (fusion, the fold of a pair, or the fold of an append) to checked type arguments, arguments, and prior theorems discharging its premises, and is refused in linking for an unregistered law, a wrong argument count or type, or a missing premise, and by Lean for a statement the law does not prove." + [[id]] id = "LN-01" level = "build" diff --git a/schemas/semantic-module-v2.schema.json b/schemas/semantic-module-v2.schema.json index 7ce06151a..31092a20a 100644 --- a/schemas/semantic-module-v2.schema.json +++ b/schemas/semantic-module-v2.schema.json @@ -1 +1 @@ -{"$defs":{"artifactSchema":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"bytes"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"enum":["int16","int32","int64","int8","uint16","uint32","uint64","uint8"]},"kind":{"const":"int_tensor"},"shape":{"items":{"minimum":1,"type":"integer"},"minItems":1,"type":"array"}},"required":["element","kind","shape"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"utf8_lines"}},"required":["kind"],"type":"object"}]},"assignment":{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/name"},"value":{"$ref":"#/$defs/term"}},"required":["field","value"],"type":"object"},"branch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/term"},"constructor":{"$ref":"#/$defs/member"}},"required":["binders","body","constructor"],"type":"object"},"claim":{"oneOf":[{"additionalProperties":false,"properties":{"agreements":{"minimum":0,"type":"integer"},"comparison":{"$ref":"#/$defs/member"},"comparison_sound":{"$ref":"#/$defs/member"},"dataset":{"$ref":"#/$defs/member"},"examples":{"minimum":0,"type":"integer"},"kind":{"const":"dataset_agreement"},"theorem":{"$ref":"#/$defs/member"}},"required":["agreements","comparison","comparison_sound","dataset","examples","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"equivalent_to"},"reference":{"$ref":"#/$defs/modelUse"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","reference","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"preserves_invariant"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"satisfies_contract"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"}]},"compositeForm":{"oneOf":[{"additionalProperties":false,"properties":{"junctions":{"items":{"$ref":"#/$defs/compositeJunction"},"minItems":1,"type":"array"},"kind":{"const":"sequence"},"stages":{"items":{"$ref":"#/$defs/modelUse"},"minItems":2,"type":"array"}},"required":["junctions","kind","stages"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"fanout"},"left":{"$ref":"#/$defs/modelUse"},"right":{"$ref":"#/$defs/modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/modelUse"},"right":{"$ref":"#/$defs/modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"else":{"$ref":"#/$defs/modelUse"},"guard":{"$ref":"#/$defs/term"},"kind":{"const":"branch"},"then":{"$ref":"#/$defs/modelUse"}},"required":["else","guard","kind","then"],"type":"object"},{"additionalProperties":false,"properties":{"junction":{"$ref":"#/$defs/compositeJunction"},"kind":{"const":"scan"},"stage":{"$ref":"#/$defs/modelUse"}},"required":["junction","kind","stage"],"type":"object"}]},"compositeJunction":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"unconditional"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"evidence":{"$ref":"#/$defs/member"},"kind":{"const":"proved"}},"required":["evidence","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"checked"}},"required":["kind"],"type":"object"}]},"constructor":{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/type"},"type":"array"},"name":{"$ref":"#/$defs/name"}},"required":["fields","name"],"type":"object"},"contractState":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"next":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["name","next","type"],"type":"object"},"contractValidator":{"additionalProperties":false,"properties":{"complete":{"$ref":"#/$defs/member"},"predicate":{"enum":["invariant","postcondition","precondition"]},"sound":{"$ref":"#/$defs/member"},"validator":{"$ref":"#/$defs/member"}},"required":["predicate","sound","validator"],"type":"object"},"declaration":{"oneOf":[{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/field"},"minItems":1,"type":"array"},"kind":{"const":"structure"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/field"},"minItems":1,"type":"array"},"kind":{"const":"class"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"},"class":{"$ref":"#/$defs/member"},"fields":{"items":{"$ref":"#/$defs/assignment"},"minItems":1,"type":"array"},"kind":{"const":"instance"},"name":{"$ref":"#/$defs/name"},"priority":{"const":1000}},"required":["arguments","class","fields","kind","name","priority"],"type":"object"},{"additionalProperties":false,"properties":{"constructors":{"items":{"$ref":"#/$defs/constructor"},"minItems":1,"type":"array"},"kind":{"const":"inductive"},"mutual":{"$ref":"#/$defs/name"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["constructors","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/term"},"executable":{"type":"boolean"},"kind":{"const":"definition"},"mutual":{"$ref":"#/$defs/name"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"production":{"$ref":"#/$defs/production"},"recursive_argument":{"$ref":"#/$defs/name"},"result":{"$ref":"#/$defs/type"},"termination":{"additionalProperties":false,"properties":{"evidence":{"items":{"$ref":"#/$defs/member"},"minItems":1,"type":"array"},"measure":{"$ref":"#/$defs/term"}},"required":["evidence","measure"],"type":"object"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["body","kind","name","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"kind":{"const":"theorem"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"proof":{"$ref":"#/$defs/proof"},"statement":{"$ref":"#/$defs/term"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["kind","name","parameters","proof","statement"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"kind":{"const":"artifact"},"length":{"minimum":0,"type":"integer"},"name":{"$ref":"#/$defs/name"},"role":{"enum":["binary","dataset","parameters","table","vocabulary"]},"schema":{"$ref":"#/$defs/artifactSchema"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"type":{"$ref":"#/$defs/type"}},"required":["kind","length","name","role","schema","sha256","type"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"input":{"$ref":"#/$defs/modelBinder"},"invariant":{"$ref":"#/$defs/member"},"kind":{"const":"contract"},"name":{"$ref":"#/$defs/name"},"output":{"$ref":"#/$defs/modelBinder"},"postcondition":{"$ref":"#/$defs/member"},"precondition":{"$ref":"#/$defs/member"},"state":{"$ref":"#/$defs/contractState"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"validators":{"items":{"$ref":"#/$defs/contractValidator"},"type":"array"}},"required":["input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"descriptor":{"$ref":"#/$defs/descriptor"},"executable":{"type":"boolean"},"input":{"$ref":"#/$defs/modelBinder"},"kind":{"const":"realization"},"name":{"$ref":"#/$defs/name"},"output":{"$ref":"#/$defs/type"},"state":{"$ref":"#/$defs/realizationState"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["descriptor","input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/claim"},"minItems":1,"type":"array"},"contract":{"$ref":"#/$defs/modelUse"},"kind":{"const":"evidence"},"name":{"$ref":"#/$defs/name"},"realization":{"$ref":"#/$defs/modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["claims","contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"contract":{"$ref":"#/$defs/modelUse"},"entry":{"items":{"$ref":"#/$defs/member"},"type":"array"},"evidence":{"items":{"$ref":"#/$defs/modelUse"},"type":"array"},"kind":{"const":"model"},"name":{"$ref":"#/$defs/name"},"realization":{"$ref":"#/$defs/modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"invariant":{"$ref":"#/$defs/logicInvariant"},"kind":{"const":"logic"},"name":{"$ref":"#/$defs/name"},"ranking":{"$ref":"#/$defs/member"},"relation":{"$ref":"#/$defs/member"},"state":{"$ref":"#/$defs/contractState"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["kind","name","relation","state"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"binding":{"$ref":"#/$defs/ruleBinding"},"conclusion":{"$ref":"#/$defs/term"},"executable":{"type":"boolean"},"guard":{"$ref":"#/$defs/term"},"kind":{"const":"inference_rule"},"logic":{"$ref":"#/$defs/modelUse"},"name":{"$ref":"#/$defs/name"},"progress":{"$ref":"#/$defs/member"},"soundness":{"$ref":"#/$defs/member"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["conclusion","guard","kind","logic","name","soundness"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"candidate":{"$ref":"#/$defs/modelBinder"},"check":{"$ref":"#/$defs/member"},"complete":{"$ref":"#/$defs/member"},"kind":{"const":"verifier"},"name":{"$ref":"#/$defs/name"},"sound":{"$ref":"#/$defs/member"},"specification":{"$ref":"#/$defs/member"},"subject":{"$ref":"#/$defs/modelBinder"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["candidate","check","kind","name","sound","specification","subject"],"type":"object"},{"additionalProperties":false,"properties":{"answer":{"$ref":"#/$defs/reasoningAnswer"},"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/reasoningClaim"},"type":"array"},"executable":{"type":"boolean"},"kind":{"const":"reasoner"},"logic":{"$ref":"#/$defs/modelUse"},"name":{"$ref":"#/$defs/name"},"observation":{"$ref":"#/$defs/modelBinder"},"observe":{"$ref":"#/$defs/term"},"rules":{"items":{"$ref":"#/$defs/modelUse"},"type":"array"},"strategy":{"$ref":"#/$defs/reasoningStrategy"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"verifier":{"$ref":"#/$defs/modelUse"}},"required":["kind","name","observation","rules","strategy","verifier"],"type":"object"}]},"descriptor":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/term"},"kind":{"const":"deterministic"}},"required":["body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"default":{"$ref":"#/$defs/term"},"kind":{"const":"rule"},"rules":{"items":{"$ref":"#/$defs/realizationRule"},"minItems":1,"type":"array"}},"required":["default","kind","rules"],"type":"object"},{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/member"},"features":{"$ref":"#/$defs/term"},"kind":{"const":"statistical"},"labels":{"items":{"$ref":"#/$defs/term"},"minItems":1,"type":"array"},"scheme":{"const":"linear_scoring"},"weights":{"$ref":"#/$defs/member"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/member"}},"required":["bias","features","kind","labels","scheme","weights","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"architecture":{"const":"integer_feedforward"},"decoder":{"$ref":"#/$defs/neuralDecoder"},"encoder":{"$ref":"#/$defs/term"},"kind":{"const":"neural"},"layers":{"items":{"$ref":"#/$defs/neuralLayer"},"minItems":1,"type":"array"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/member"}},"required":["architecture","decoder","encoder","kind","layers","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"form":{"$ref":"#/$defs/compositeForm"},"kind":{"const":"composite"}},"required":["form","kind"],"type":"object"}]},"field":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["name","type"],"type":"object"},"logicInvariant":{"additionalProperties":false,"properties":{"predicate":{"$ref":"#/$defs/member"},"preserves":{"$ref":"#/$defs/member"}},"required":["predicate","preserves"],"type":"object"},"member":{"additionalProperties":false,"properties":{"module":{"$ref":"#/$defs/name"},"name":{"$ref":"#/$defs/name"}},"required":["name"],"type":"object"},"modelBinder":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["name","type"],"type":"object"},"modelUse":{"additionalProperties":false,"properties":{"member":{"$ref":"#/$defs/member"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["member"],"type":"object"},"name":{"pattern":"^[A-Za-z][A-Za-z0-9_]*(\\.[A-Za-z][A-Za-z0-9_]*)*$","type":"string"},"neuralDecoder":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"argmax"},"labels":{"items":{"$ref":"#/$defs/term"},"minItems":1,"type":"array"}},"required":["kind","labels"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/name"},"body":{"$ref":"#/$defs/term"},"kind":{"const":"function"}},"required":["binder","body","kind"],"type":"object"}]},"neuralLayer":{"oneOf":[{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/member"},"inputs":{"minimum":1,"type":"integer"},"kind":{"const":"dense"},"outputs":{"minimum":1,"type":"integer"},"weights":{"$ref":"#/$defs/member"}},"required":["bias","inputs","kind","outputs","weights"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"relu"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"requantize"},"maximum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"minimum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"shift":{"maximum":4096,"minimum":0,"type":"integer"}},"required":["kind","maximum","minimum","shift"],"type":"object"}]},"parameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["name","type"],"type":"object"},"production":{"additionalProperties":false,"properties":{"effects":{"items":{"enum":["allocation","overflow","recursion"]},"type":"array","uniqueItems":true},"targets":{"items":{"enum":["rust-core","rust-std"]},"minItems":1,"type":"array","uniqueItems":true}},"required":["effects","targets"],"type":"object"},"proof":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"reflexivity"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"decide"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"simplify"}},"required":["definitions","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/proof"},"minItems":1,"type":"array"},"kind":{"const":"constructor"}},"required":["branches","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/proofBranch"},"minItems":1,"type":"array"},"kind":{"const":"cases"},"scrutinee":{"$ref":"#/$defs/name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/proofBranch"},"minItems":1,"type":"array"},"generalizing":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"kind":{"const":"induction"},"scrutinee":{"$ref":"#/$defs/name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"congruence"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"boolean_reflection"},"reflection":{"$ref":"#/$defs/reflection"}},"required":["kind","reflection"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"kind":{"const":"apply"},"theorem":{"$ref":"#/$defs/member"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"linear_arithmetic"}},"required":["kind"],"type":"object"}]},"proofBranch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"constructor":{"$ref":"#/$defs/name"},"proof":{"$ref":"#/$defs/proof"}},"required":["binders","constructor","proof"],"type":"object"},"realizationRule":{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/term"},"guard":{"$ref":"#/$defs/term"},"name":{"$ref":"#/$defs/name"}},"required":["action","guard","name"],"type":"object"},"realizationState":{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/term"},"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["initial","name","type"],"type":"object"},"reasoningAnswer":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"},"value":{"$ref":"#/$defs/term"}},"required":["name","type","value"],"type":"object"},"reasoningClaim":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"answer_correct"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/member"},"kind":{"const":"observation_invariant"},"predicate":{"$ref":"#/$defs/member"},"preserved":{"$ref":"#/$defs/member"}},"required":["initial","kind","predicate","preserved"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"terminates"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"}]},"reasoningStrategy":{"oneOf":[{"additionalProperties":false,"properties":{"fuel":{"$ref":"#/$defs/term"},"kind":{"const":"forward"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"budget":{"$ref":"#/$defs/term"},"generator":{"$ref":"#/$defs/term"},"kind":{"const":"generate_and_verify"}},"required":["generator","kind"],"type":"object"},{"additionalProperties":false,"properties":{"deduplicate":{"type":"boolean"},"frontier":{"$ref":"#/$defs/term"},"fuel":{"$ref":"#/$defs/term"},"kind":{"const":"search"},"order":{"enum":["breadth_first","depth_first"]}},"required":["kind","order"],"type":"object"}]},"reflection":{"oneOf":[{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/member"},"comparison":{"$ref":"#/$defs/reflectionComparison"},"kind":{"const":"list"},"parameter":{"$ref":"#/$defs/name"},"proposition_definition":{"$ref":"#/$defs/member"},"values":{"$ref":"#/$defs/name"}},"required":["boolean_definition","comparison","kind","parameter","proposition_definition","values"],"type":"object"},{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/member"},"fields":{"items":{"$ref":"#/$defs/reflectionField"},"minItems":1,"type":"array"},"kind":{"const":"record"},"proposition_definition":{"$ref":"#/$defs/member"},"record":{"$ref":"#/$defs/name"}},"required":["boolean_definition","fields","kind","proposition_definition","record"],"type":"object"}]},"reflectionComparison":{"enum":["nat_beq","nat_blt"]},"reflectionField":{"additionalProperties":false,"properties":{"expected":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]},"field":{"$ref":"#/$defs/name"}},"required":["expected","field"],"type":"object"},"ruleBinding":{"additionalProperties":false,"properties":{"candidates":{"$ref":"#/$defs/term"},"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["candidates","name","type"],"type":"object"},"term":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"var"},"name":{"$ref":"#/$defs/name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"nat"},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bool"},"value":{"type":"boolean"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["int","int8","int16","int32","int64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["uint8","uint16","uint32","uint64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"string"},"value":{"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"hex":{"pattern":"^([0-9a-f]{2})*$","type":"string"},"kind":{"const":"bytes"}},"required":["hex","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"kind":{"const":"primitive"},"operation":{"enum":["append","bit_and","bit_not","bit_or","bit_xor","checked_add","checked_convert","checked_multiply","checked_negate","checked_quotient","checked_subtract","compare_bytes","equal","format_decimal","graph_reachable","graph_successors","graph_topological","index","iterate","iterate_until","join","length","less_than","list_fold","map_contains","map_entries","map_fold","map_insert","map_keys","map_lookup","map_remove","map_size","map_values","multiply","negate","parse_decimal","quotient","remainder","set_contains","set_difference","set_elements","set_fold","set_insert","set_intersection","set_remove","set_size","set_union","shift_left","shift_right","slice","split_exact","subtract","utf8_decode","utf8_encode"]},"result":{"$ref":"#/$defs/type"}},"required":["arguments","kind","operation","result"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"unit"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/type"},"kind":{"const":"nil"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"head":{"$ref":"#/$defs/term"},"kind":{"const":"cons"},"tail":{"$ref":"#/$defs/term"}},"required":["head","kind","tail"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/assignment"},"type":"array"},"kind":{"const":"record"},"type":{"$ref":"#/$defs/member"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["fields","kind","type"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"constructor":{"$ref":"#/$defs/member"},"kind":{"const":"constructor"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","constructor","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"},"class":{"$ref":"#/$defs/member"},"kind":{"const":"instance_value"},"resolved":{"$ref":"#/$defs/member"}},"required":["arguments","class","kind","resolved"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/name"},"kind":{"const":"project"},"value":{"$ref":"#/$defs/term"}},"required":["field","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"function":{"$ref":"#/$defs/member"},"kind":{"const":"call"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"condition":{"$ref":"#/$defs/term"},"else_value":{"$ref":"#/$defs/term"},"kind":{"const":"if"},"then_value":{"$ref":"#/$defs/term"}},"required":["condition","else_value","kind","then_value"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/branch"},"minItems":1,"type":"array"},"kind":{"const":"match"},"scrutinee":{"$ref":"#/$defs/term"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"eq"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"le"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"lt"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"add"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"beq"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"ble"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"blt"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"and"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"or"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"iff"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"conclusion":{"$ref":"#/$defs/term"},"kind":{"const":"implies"},"premise":{"$ref":"#/$defs/term"}},"required":["conclusion","kind","premise"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"not"},"value":{"$ref":"#/$defs/term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/parameter"},"body":{"$ref":"#/$defs/term"},"kind":{"const":"forall"}},"required":["binder","body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prop_and"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/parameter"},"body":{"$ref":"#/$defs/term"},"kind":{"const":"let"},"value":{"$ref":"#/$defs/term"}},"required":["binder","body","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"pair"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"first"},"value":{"$ref":"#/$defs/term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"second"},"value":{"$ref":"#/$defs/term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/term"},"captures":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"kind":{"const":"lambda"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"minItems":1,"type":"array"}},"required":["body","captures","kind","parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"minItems":1,"type":"array"},"function":{"$ref":"#/$defs/term"},"kind":{"const":"apply"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"function":{"$ref":"#/$defs/member"},"kind":{"const":"function_ref"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"entries":{"items":{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/term"},"value":{"$ref":"#/$defs/term"}},"required":["key","value"],"type":"object"},"type":"array"},"key":{"$ref":"#/$defs/type"},"kind":{"const":"map_literal"},"value":{"$ref":"#/$defs/type"}},"required":["entries","key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/type"},"elements":{"items":{"$ref":"#/$defs/term"},"type":"array"},"kind":{"const":"set_literal"}},"required":["element","elements","kind"],"type":"object"},{"additionalProperties":false,"properties":{"edges":{"items":{"additionalProperties":false,"properties":{"source":{"$ref":"#/$defs/term"},"target":{"$ref":"#/$defs/term"}},"required":["source","target"],"type":"object"},"type":"array"},"kind":{"const":"graph_literal"},"node":{"$ref":"#/$defs/type"},"nodes":{"items":{"$ref":"#/$defs/term"},"type":"array"}},"required":["edges","kind","node","nodes"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"checks":{"items":{"enum":["input_invariant","output_invariant","postcondition","precondition"]},"type":"array","uniqueItems":true},"kind":{"const":"checked_apply"},"model":{"$ref":"#/$defs/member"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","checks","kind","model"],"type":"object"}]},"type":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"enum":["bool","bytes","int","int8","int16","int32","int64","nat","ordering","prop","string","type","uint8","uint16","uint32","uint64","unit"]}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"parameter"},"name":{"$ref":"#/$defs/name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/type"},"kind":{"const":"list"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"},"kind":{"const":"named"},"member":{"$ref":"#/$defs/member"}},"required":["arguments","kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"option"},"value":{"$ref":"#/$defs/type"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"$ref":"#/$defs/type"},"kind":{"const":"result"},"ok":{"$ref":"#/$defs/type"}},"required":["error","kind","ok"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/type"},"right":{"$ref":"#/$defs/type"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"function"},"parameters":{"items":{"$ref":"#/$defs/type"},"minItems":1,"type":"array"},"result":{"$ref":"#/$defs/type"}},"required":["kind","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/type"},"kind":{"const":"map"},"value":{"$ref":"#/$defs/type"}},"required":["key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/type"},"kind":{"const":"set"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"contract_violation"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"reasoning_failure"}},"required":["kind"],"type":"object"}]}},"$id":"https://github.com/afflom/lexlean/schemas/semantic-module-v2.schema.json","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"declarations":{"items":{"$ref":"#/$defs/declaration"},"minItems":1,"type":"array"},"spec":{"const":"lexlean/semantic-module/2"}},"required":["declarations","spec"],"title":"LexLean language-1.2 semantic module","type":"object"} +{"$defs":{"artifactSchema":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"bytes"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"enum":["int16","int32","int64","int8","uint16","uint32","uint64","uint8"]},"kind":{"const":"int_tensor"},"shape":{"items":{"minimum":1,"type":"integer"},"minItems":1,"type":"array"}},"required":["element","kind","shape"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"utf8_lines"}},"required":["kind"],"type":"object"}]},"assignment":{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/name"},"value":{"$ref":"#/$defs/term"}},"required":["field","value"],"type":"object"},"branch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/term"},"constructor":{"$ref":"#/$defs/member"}},"required":["binders","body","constructor"],"type":"object"},"claim":{"oneOf":[{"additionalProperties":false,"properties":{"agreements":{"minimum":0,"type":"integer"},"comparison":{"$ref":"#/$defs/member"},"comparison_sound":{"$ref":"#/$defs/member"},"dataset":{"$ref":"#/$defs/member"},"examples":{"minimum":0,"type":"integer"},"kind":{"const":"dataset_agreement"},"theorem":{"$ref":"#/$defs/member"}},"required":["agreements","comparison","comparison_sound","dataset","examples","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"equivalent_to"},"reference":{"$ref":"#/$defs/modelUse"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","reference","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"preserves_invariant"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"satisfies_contract"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"}]},"compositeForm":{"oneOf":[{"additionalProperties":false,"properties":{"junctions":{"items":{"$ref":"#/$defs/compositeJunction"},"minItems":1,"type":"array"},"kind":{"const":"sequence"},"stages":{"items":{"$ref":"#/$defs/modelUse"},"minItems":2,"type":"array"}},"required":["junctions","kind","stages"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"fanout"},"left":{"$ref":"#/$defs/modelUse"},"right":{"$ref":"#/$defs/modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/modelUse"},"right":{"$ref":"#/$defs/modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"else":{"$ref":"#/$defs/modelUse"},"guard":{"$ref":"#/$defs/term"},"kind":{"const":"branch"},"then":{"$ref":"#/$defs/modelUse"}},"required":["else","guard","kind","then"],"type":"object"},{"additionalProperties":false,"properties":{"junction":{"$ref":"#/$defs/compositeJunction"},"kind":{"const":"scan"},"stage":{"$ref":"#/$defs/modelUse"}},"required":["junction","kind","stage"],"type":"object"}]},"compositeJunction":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"unconditional"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"evidence":{"$ref":"#/$defs/member"},"kind":{"const":"proved"}},"required":["evidence","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"checked"}},"required":["kind"],"type":"object"}]},"constructor":{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/type"},"type":"array"},"name":{"$ref":"#/$defs/name"}},"required":["fields","name"],"type":"object"},"contractState":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"next":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["name","next","type"],"type":"object"},"contractValidator":{"additionalProperties":false,"properties":{"complete":{"$ref":"#/$defs/member"},"predicate":{"enum":["invariant","postcondition","precondition"]},"sound":{"$ref":"#/$defs/member"},"validator":{"$ref":"#/$defs/member"}},"required":["predicate","sound","validator"],"type":"object"},"declaration":{"oneOf":[{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/field"},"minItems":1,"type":"array"},"kind":{"const":"structure"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/field"},"minItems":1,"type":"array"},"kind":{"const":"class"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"},"class":{"$ref":"#/$defs/member"},"fields":{"items":{"$ref":"#/$defs/assignment"},"minItems":1,"type":"array"},"kind":{"const":"instance"},"name":{"$ref":"#/$defs/name"},"priority":{"const":1000}},"required":["arguments","class","fields","kind","name","priority"],"type":"object"},{"additionalProperties":false,"properties":{"constructors":{"items":{"$ref":"#/$defs/constructor"},"minItems":1,"type":"array"},"kind":{"const":"inductive"},"mutual":{"$ref":"#/$defs/name"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["constructors","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/term"},"executable":{"type":"boolean"},"kind":{"const":"definition"},"mutual":{"$ref":"#/$defs/name"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"production":{"$ref":"#/$defs/production"},"recursive_argument":{"$ref":"#/$defs/name"},"result":{"$ref":"#/$defs/type"},"termination":{"additionalProperties":false,"properties":{"evidence":{"items":{"$ref":"#/$defs/member"},"minItems":1,"type":"array"},"measure":{"$ref":"#/$defs/term"}},"required":["evidence","measure"],"type":"object"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["body","kind","name","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"kind":{"const":"theorem"},"name":{"$ref":"#/$defs/name"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"type":"array"},"proof":{"$ref":"#/$defs/proof"},"statement":{"$ref":"#/$defs/term"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["kind","name","parameters","proof","statement"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"kind":{"const":"artifact"},"length":{"minimum":0,"type":"integer"},"name":{"$ref":"#/$defs/name"},"role":{"enum":["binary","dataset","parameters","table","vocabulary"]},"schema":{"$ref":"#/$defs/artifactSchema"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"type":{"$ref":"#/$defs/type"}},"required":["kind","length","name","role","schema","sha256","type"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"input":{"$ref":"#/$defs/modelBinder"},"invariant":{"$ref":"#/$defs/member"},"kind":{"const":"contract"},"name":{"$ref":"#/$defs/name"},"output":{"$ref":"#/$defs/modelBinder"},"postcondition":{"$ref":"#/$defs/member"},"precondition":{"$ref":"#/$defs/member"},"state":{"$ref":"#/$defs/contractState"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"validators":{"items":{"$ref":"#/$defs/contractValidator"},"type":"array"}},"required":["input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"descriptor":{"$ref":"#/$defs/descriptor"},"executable":{"type":"boolean"},"input":{"$ref":"#/$defs/modelBinder"},"kind":{"const":"realization"},"name":{"$ref":"#/$defs/name"},"output":{"$ref":"#/$defs/type"},"state":{"$ref":"#/$defs/realizationState"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["descriptor","input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/claim"},"minItems":1,"type":"array"},"contract":{"$ref":"#/$defs/modelUse"},"kind":{"const":"evidence"},"name":{"$ref":"#/$defs/name"},"realization":{"$ref":"#/$defs/modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["claims","contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"contract":{"$ref":"#/$defs/modelUse"},"entry":{"items":{"$ref":"#/$defs/member"},"type":"array"},"evidence":{"items":{"$ref":"#/$defs/modelUse"},"type":"array"},"kind":{"const":"model"},"name":{"$ref":"#/$defs/name"},"realization":{"$ref":"#/$defs/modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"invariant":{"$ref":"#/$defs/logicInvariant"},"kind":{"const":"logic"},"name":{"$ref":"#/$defs/name"},"ranking":{"$ref":"#/$defs/member"},"relation":{"$ref":"#/$defs/member"},"state":{"$ref":"#/$defs/contractState"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["kind","name","relation","state"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"binding":{"$ref":"#/$defs/ruleBinding"},"conclusion":{"$ref":"#/$defs/term"},"executable":{"type":"boolean"},"guard":{"$ref":"#/$defs/term"},"kind":{"const":"inference_rule"},"logic":{"$ref":"#/$defs/modelUse"},"name":{"$ref":"#/$defs/name"},"progress":{"$ref":"#/$defs/member"},"soundness":{"$ref":"#/$defs/member"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["conclusion","guard","kind","logic","name","soundness"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"candidate":{"$ref":"#/$defs/modelBinder"},"check":{"$ref":"#/$defs/member"},"complete":{"$ref":"#/$defs/member"},"kind":{"const":"verifier"},"name":{"$ref":"#/$defs/name"},"sound":{"$ref":"#/$defs/member"},"specification":{"$ref":"#/$defs/member"},"subject":{"$ref":"#/$defs/modelBinder"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true}},"required":["candidate","check","kind","name","sound","specification","subject"],"type":"object"},{"additionalProperties":false,"properties":{"answer":{"$ref":"#/$defs/reasoningAnswer"},"axioms":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/reasoningClaim"},"type":"array"},"executable":{"type":"boolean"},"kind":{"const":"reasoner"},"logic":{"$ref":"#/$defs/modelUse"},"name":{"$ref":"#/$defs/name"},"observation":{"$ref":"#/$defs/modelBinder"},"observe":{"$ref":"#/$defs/term"},"rules":{"items":{"$ref":"#/$defs/modelUse"},"type":"array"},"strategy":{"$ref":"#/$defs/reasoningStrategy"},"type_parameters":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"verifier":{"$ref":"#/$defs/modelUse"}},"required":["kind","name","observation","rules","strategy","verifier"],"type":"object"}]},"descriptor":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/term"},"kind":{"const":"deterministic"}},"required":["body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"default":{"$ref":"#/$defs/term"},"kind":{"const":"rule"},"rules":{"items":{"$ref":"#/$defs/realizationRule"},"minItems":1,"type":"array"}},"required":["default","kind","rules"],"type":"object"},{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/member"},"features":{"$ref":"#/$defs/term"},"kind":{"const":"statistical"},"labels":{"items":{"$ref":"#/$defs/term"},"minItems":1,"type":"array"},"scheme":{"const":"linear_scoring"},"weights":{"$ref":"#/$defs/member"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/member"}},"required":["bias","features","kind","labels","scheme","weights","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"architecture":{"const":"integer_feedforward"},"decoder":{"$ref":"#/$defs/neuralDecoder"},"encoder":{"$ref":"#/$defs/term"},"kind":{"const":"neural"},"layers":{"items":{"$ref":"#/$defs/neuralLayer"},"minItems":1,"type":"array"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/member"}},"required":["architecture","decoder","encoder","kind","layers","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"form":{"$ref":"#/$defs/compositeForm"},"kind":{"const":"composite"}},"required":["form","kind"],"type":"object"}]},"field":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["name","type"],"type":"object"},"logicInvariant":{"additionalProperties":false,"properties":{"predicate":{"$ref":"#/$defs/member"},"preserves":{"$ref":"#/$defs/member"}},"required":["predicate","preserves"],"type":"object"},"member":{"additionalProperties":false,"properties":{"module":{"$ref":"#/$defs/name"},"name":{"$ref":"#/$defs/name"}},"required":["name"],"type":"object"},"modelBinder":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["name","type"],"type":"object"},"modelUse":{"additionalProperties":false,"properties":{"member":{"$ref":"#/$defs/member"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["member"],"type":"object"},"name":{"pattern":"^[A-Za-z][A-Za-z0-9_]*(\\.[A-Za-z][A-Za-z0-9_]*)*$","type":"string"},"neuralDecoder":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"argmax"},"labels":{"items":{"$ref":"#/$defs/term"},"minItems":1,"type":"array"}},"required":["kind","labels"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/name"},"body":{"$ref":"#/$defs/term"},"kind":{"const":"function"}},"required":["binder","body","kind"],"type":"object"}]},"neuralLayer":{"oneOf":[{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/member"},"inputs":{"minimum":1,"type":"integer"},"kind":{"const":"dense"},"outputs":{"minimum":1,"type":"integer"},"weights":{"$ref":"#/$defs/member"}},"required":["bias","inputs","kind","outputs","weights"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"relu"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"requantize"},"maximum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"minimum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"shift":{"maximum":4096,"minimum":0,"type":"integer"}},"required":["kind","maximum","minimum","shift"],"type":"object"}]},"parameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["name","type"],"type":"object"},"production":{"additionalProperties":false,"properties":{"effects":{"items":{"enum":["allocation","overflow","recursion"]},"type":"array","uniqueItems":true},"targets":{"items":{"enum":["rust-core","rust-std"]},"minItems":1,"type":"array","uniqueItems":true}},"required":["effects","targets"],"type":"object"},"proof":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"reflexivity"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"decide"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"simplify"}},"required":["definitions","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/proof"},"minItems":1,"type":"array"},"kind":{"const":"constructor"}},"required":["branches","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/proofBranch"},"minItems":1,"type":"array"},"kind":{"const":"cases"},"scrutinee":{"$ref":"#/$defs/name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/proofBranch"},"minItems":1,"type":"array"},"generalizing":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"kind":{"const":"induction"},"scrutinee":{"$ref":"#/$defs/name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"congruence"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"boolean_reflection"},"reflection":{"$ref":"#/$defs/reflection"}},"required":["kind","reflection"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"kind":{"const":"law"},"name":{"$ref":"#/$defs/name"},"premises":{"items":{"$ref":"#/$defs/member"},"type":"array"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"kind":{"const":"apply"},"theorem":{"$ref":"#/$defs/member"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"linear_arithmetic"}},"required":["kind"],"type":"object"}]},"proofBranch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"constructor":{"$ref":"#/$defs/name"},"proof":{"$ref":"#/$defs/proof"}},"required":["binders","constructor","proof"],"type":"object"},"realizationRule":{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/term"},"guard":{"$ref":"#/$defs/term"},"name":{"$ref":"#/$defs/name"}},"required":["action","guard","name"],"type":"object"},"realizationState":{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/term"},"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["initial","name","type"],"type":"object"},"reasoningAnswer":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"},"value":{"$ref":"#/$defs/term"}},"required":["name","type","value"],"type":"object"},"reasoningClaim":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"answer_correct"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/member"},"kind":{"const":"observation_invariant"},"predicate":{"$ref":"#/$defs/member"},"preserved":{"$ref":"#/$defs/member"}},"required":["initial","kind","predicate","preserved"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"terminates"},"theorem":{"$ref":"#/$defs/member"}},"required":["kind","theorem"],"type":"object"}]},"reasoningStrategy":{"oneOf":[{"additionalProperties":false,"properties":{"fuel":{"$ref":"#/$defs/term"},"kind":{"const":"forward"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"budget":{"$ref":"#/$defs/term"},"generator":{"$ref":"#/$defs/term"},"kind":{"const":"generate_and_verify"}},"required":["generator","kind"],"type":"object"},{"additionalProperties":false,"properties":{"deduplicate":{"type":"boolean"},"frontier":{"$ref":"#/$defs/term"},"fuel":{"$ref":"#/$defs/term"},"kind":{"const":"search"},"order":{"enum":["breadth_first","depth_first"]}},"required":["kind","order"],"type":"object"}]},"reflection":{"oneOf":[{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/member"},"comparison":{"$ref":"#/$defs/reflectionComparison"},"kind":{"const":"list"},"parameter":{"$ref":"#/$defs/name"},"proposition_definition":{"$ref":"#/$defs/member"},"values":{"$ref":"#/$defs/name"}},"required":["boolean_definition","comparison","kind","parameter","proposition_definition","values"],"type":"object"},{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/member"},"fields":{"items":{"$ref":"#/$defs/reflectionField"},"minItems":1,"type":"array"},"kind":{"const":"record"},"proposition_definition":{"$ref":"#/$defs/member"},"record":{"$ref":"#/$defs/name"}},"required":["boolean_definition","fields","kind","proposition_definition","record"],"type":"object"}]},"reflectionComparison":{"enum":["nat_beq","nat_blt"]},"reflectionField":{"additionalProperties":false,"properties":{"expected":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]},"field":{"$ref":"#/$defs/name"}},"required":["expected","field"],"type":"object"},"ruleBinding":{"additionalProperties":false,"properties":{"candidates":{"$ref":"#/$defs/term"},"name":{"$ref":"#/$defs/name"},"type":{"$ref":"#/$defs/type"}},"required":["candidates","name","type"],"type":"object"},"term":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"var"},"name":{"$ref":"#/$defs/name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"nat"},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bool"},"value":{"type":"boolean"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["int","int8","int16","int32","int64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["uint8","uint16","uint32","uint64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"string"},"value":{"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"hex":{"pattern":"^([0-9a-f]{2})*$","type":"string"},"kind":{"const":"bytes"}},"required":["hex","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"kind":{"const":"primitive"},"operation":{"enum":["append","bit_and","bit_not","bit_or","bit_xor","checked_add","checked_convert","checked_multiply","checked_negate","checked_quotient","checked_subtract","compare_bytes","equal","format_decimal","graph_reachable","graph_successors","graph_topological","index","iterate","iterate_until","join","length","less_than","list_fold","map_contains","map_entries","map_fold","map_insert","map_keys","map_lookup","map_remove","map_size","map_values","multiply","negate","parse_decimal","quotient","remainder","set_contains","set_difference","set_elements","set_fold","set_insert","set_intersection","set_remove","set_size","set_union","shift_left","shift_right","slice","split_exact","subtract","utf8_decode","utf8_encode"]},"result":{"$ref":"#/$defs/type"}},"required":["arguments","kind","operation","result"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"unit"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/type"},"kind":{"const":"nil"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"head":{"$ref":"#/$defs/term"},"kind":{"const":"cons"},"tail":{"$ref":"#/$defs/term"}},"required":["head","kind","tail"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/assignment"},"type":"array"},"kind":{"const":"record"},"type":{"$ref":"#/$defs/member"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["fields","kind","type"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"constructor":{"$ref":"#/$defs/member"},"kind":{"const":"constructor"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","constructor","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"},"class":{"$ref":"#/$defs/member"},"kind":{"const":"instance_value"},"resolved":{"$ref":"#/$defs/member"}},"required":["arguments","class","kind","resolved"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/name"},"kind":{"const":"project"},"value":{"$ref":"#/$defs/term"}},"required":["field","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"function":{"$ref":"#/$defs/member"},"kind":{"const":"call"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"condition":{"$ref":"#/$defs/term"},"else_value":{"$ref":"#/$defs/term"},"kind":{"const":"if"},"then_value":{"$ref":"#/$defs/term"}},"required":["condition","else_value","kind","then_value"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/branch"},"minItems":1,"type":"array"},"kind":{"const":"match"},"scrutinee":{"$ref":"#/$defs/term"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"eq"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"le"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"lt"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"add"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"beq"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"ble"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"blt"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"and"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"or"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"iff"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"conclusion":{"$ref":"#/$defs/term"},"kind":{"const":"implies"},"premise":{"$ref":"#/$defs/term"}},"required":["conclusion","kind","premise"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"not"},"value":{"$ref":"#/$defs/term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/parameter"},"body":{"$ref":"#/$defs/term"},"kind":{"const":"forall"}},"required":["binder","body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prop_and"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/parameter"},"body":{"$ref":"#/$defs/term"},"kind":{"const":"let"},"value":{"$ref":"#/$defs/term"}},"required":["binder","body","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"pair"},"left":{"$ref":"#/$defs/term"},"right":{"$ref":"#/$defs/term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"first"},"value":{"$ref":"#/$defs/term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"second"},"value":{"$ref":"#/$defs/term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/term"},"captures":{"items":{"$ref":"#/$defs/name"},"type":"array","uniqueItems":true},"kind":{"const":"lambda"},"parameters":{"items":{"$ref":"#/$defs/parameter"},"minItems":1,"type":"array"}},"required":["body","captures","kind","parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"minItems":1,"type":"array"},"function":{"$ref":"#/$defs/term"},"kind":{"const":"apply"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"function":{"$ref":"#/$defs/member"},"kind":{"const":"function_ref"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"entries":{"items":{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/term"},"value":{"$ref":"#/$defs/term"}},"required":["key","value"],"type":"object"},"type":"array"},"key":{"$ref":"#/$defs/type"},"kind":{"const":"map_literal"},"value":{"$ref":"#/$defs/type"}},"required":["entries","key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/type"},"elements":{"items":{"$ref":"#/$defs/term"},"type":"array"},"kind":{"const":"set_literal"}},"required":["element","elements","kind"],"type":"object"},{"additionalProperties":false,"properties":{"edges":{"items":{"additionalProperties":false,"properties":{"source":{"$ref":"#/$defs/term"},"target":{"$ref":"#/$defs/term"}},"required":["source","target"],"type":"object"},"type":"array"},"kind":{"const":"graph_literal"},"node":{"$ref":"#/$defs/type"},"nodes":{"items":{"$ref":"#/$defs/term"},"type":"array"}},"required":["edges","kind","node","nodes"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/term"},"type":"array"},"checks":{"items":{"enum":["input_invariant","output_invariant","postcondition","precondition"]},"type":"array","uniqueItems":true},"kind":{"const":"checked_apply"},"model":{"$ref":"#/$defs/member"},"type_arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"}},"required":["arguments","checks","kind","model"],"type":"object"}]},"type":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"enum":["bool","bytes","int","int8","int16","int32","int64","nat","ordering","prop","string","type","uint8","uint16","uint32","uint64","unit"]}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"parameter"},"name":{"$ref":"#/$defs/name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/type"},"kind":{"const":"list"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/type"},"type":"array"},"kind":{"const":"named"},"member":{"$ref":"#/$defs/member"}},"required":["arguments","kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"option"},"value":{"$ref":"#/$defs/type"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"$ref":"#/$defs/type"},"kind":{"const":"result"},"ok":{"$ref":"#/$defs/type"}},"required":["error","kind","ok"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/type"},"right":{"$ref":"#/$defs/type"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"function"},"parameters":{"items":{"$ref":"#/$defs/type"},"minItems":1,"type":"array"},"result":{"$ref":"#/$defs/type"}},"required":["kind","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/type"},"kind":{"const":"map"},"value":{"$ref":"#/$defs/type"}},"required":["key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/type"},"kind":{"const":"set"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"contract_violation"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"reasoning_failure"}},"required":["kind"],"type":"object"}]}},"$id":"https://github.com/afflom/lexlean/schemas/semantic-module-v2.schema.json","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"declarations":{"items":{"$ref":"#/$defs/declaration"},"minItems":1,"type":"array"},"spec":{"const":"lexlean/semantic-module/2"}},"required":["declarations","spec"],"title":"LexLean language-1.2 semantic module","type":"object"} diff --git a/schemas/semantic-snapshot-v2.schema.json b/schemas/semantic-snapshot-v2.schema.json index 34988da3e..b3aad1008 100644 --- a/schemas/semantic-snapshot-v2.schema.json +++ b/schemas/semantic-snapshot-v2.schema.json @@ -1 +1 @@ -{"$defs":{"axiomPolicy":{"additionalProperties":false,"properties":{"axioms":{"items":{"type":"string"},"type":"array","uniqueItems":true},"kind":{"enum":["allow","exact","none"]}},"required":["axioms","kind"],"type":"object"},"crossCheck":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"proof":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"theorem"},"theorem":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["kind","theorem","type_arguments"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"decide"}},"required":["kind"],"type":"object"}]},"statement":{"oneOf":[{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"helper":{"minLength":1,"type":"string"},"kind":{"const":"helper"}},"required":["arguments","helper","kind"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"$ref":"#/$defs/elaboration_name"},"element":{"enum":["int16","int32","int64","int8","uint16","uint32","uint64","uint8"]},"kind":{"const":"tensor"},"shape":{"items":{"minimum":1,"type":"integer"},"minItems":1,"type":"array"}},"required":["artifact","element","kind","shape"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"$ref":"#/$defs/elaboration_name"},"kind":{"const":"lines"}},"required":["artifact","kind"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"$ref":"#/$defs/elaboration_name"},"kind":{"const":"bytes"}},"required":["artifact","kind"],"type":"object"}]},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array"}},"required":["name","proof","statement","type_parameters"],"type":"object"},"declaration":{"additionalProperties":false,"properties":{"alpha_id":{"$ref":"#/$defs/digest"},"axiom_policy":{"$ref":"#/$defs/axiomPolicy"},"elaboration":{"$ref":"#/$defs/elaboration"},"kind":{"enum":["abbrev","artifact","class","constructor","contract","corollary","definition","evidence","inductive","inference_rule","instance","lemma","logic","model","predicatedefinition","realization","reasoner","recursor","structure","termdefinition","theorem","typedefinition","verifier"]},"lean_name":{"minLength":1,"type":"string"},"linked_ir":{"$ref":"#/$defs/semanticValue"},"logical_id":{"minLength":1,"type":"string"},"origin":{"$ref":"#/$defs/origin"}},"required":["axiom_policy","kind","lean_name","linked_ir","logical_id"],"type":"object"},"digest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"elaboration":{"additionalProperties":false,"properties":{"alpha_ids":{"additionalProperties":{"$ref":"#/$defs/digest"},"type":"object"},"cross_checks":{"items":{"$ref":"#/$defs/crossCheck"},"type":"array"},"declarations":{"items":{"$ref":"#/$defs/elaboration_declaration"},"type":"array"},"obligations":{"items":{"$ref":"#/$defs/obligation"},"type":"array"},"required_checks":{"items":{"enum":["input_invariant","output_invariant","postcondition","precondition"]},"type":"array"},"theorems":{"items":{"$ref":"#/$defs/generatedTheorem"},"type":"array"}},"required":["alpha_ids","cross_checks","declarations","obligations","required_checks"],"type":"object"},"elaboration_artifactSchema":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"bytes"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"enum":["int16","int32","int64","int8","uint16","uint32","uint64","uint8"]},"kind":{"const":"int_tensor"},"shape":{"items":{"minimum":1,"type":"integer"},"minItems":1,"type":"array"}},"required":["element","kind","shape"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"utf8_lines"}},"required":["kind"],"type":"object"}]},"elaboration_assignment":{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/elaboration_name"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["field","value"],"type":"object"},"elaboration_branch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/elaboration_term"},"constructor":{"$ref":"#/$defs/elaboration_member"}},"required":["binders","body","constructor"],"type":"object"},"elaboration_claim":{"oneOf":[{"additionalProperties":false,"properties":{"agreements":{"minimum":0,"type":"integer"},"comparison":{"$ref":"#/$defs/elaboration_member"},"comparison_sound":{"$ref":"#/$defs/elaboration_member"},"dataset":{"$ref":"#/$defs/elaboration_member"},"examples":{"minimum":0,"type":"integer"},"kind":{"const":"dataset_agreement"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["agreements","comparison","comparison_sound","dataset","examples","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"equivalent_to"},"reference":{"$ref":"#/$defs/elaboration_modelUse"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","reference","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"preserves_invariant"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"satisfies_contract"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"}]},"elaboration_compositeForm":{"oneOf":[{"additionalProperties":false,"properties":{"junctions":{"items":{"$ref":"#/$defs/elaboration_compositeJunction"},"minItems":1,"type":"array"},"kind":{"const":"sequence"},"stages":{"items":{"$ref":"#/$defs/elaboration_modelUse"},"minItems":2,"type":"array"}},"required":["junctions","kind","stages"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"fanout"},"left":{"$ref":"#/$defs/elaboration_modelUse"},"right":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/elaboration_modelUse"},"right":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"else":{"$ref":"#/$defs/elaboration_modelUse"},"guard":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"branch"},"then":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["else","guard","kind","then"],"type":"object"},{"additionalProperties":false,"properties":{"junction":{"$ref":"#/$defs/elaboration_compositeJunction"},"kind":{"const":"scan"},"stage":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["junction","kind","stage"],"type":"object"}]},"elaboration_compositeJunction":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"unconditional"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"evidence":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"proved"}},"required":["evidence","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"checked"}},"required":["kind"],"type":"object"}]},"elaboration_constructor":{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["fields","name"],"type":"object"},"elaboration_contractState":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"next":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["name","next","type"],"type":"object"},"elaboration_contractValidator":{"additionalProperties":false,"properties":{"complete":{"$ref":"#/$defs/elaboration_member"},"predicate":{"enum":["invariant","postcondition","precondition"]},"sound":{"$ref":"#/$defs/elaboration_member"},"validator":{"$ref":"#/$defs/elaboration_member"}},"required":["predicate","sound","validator"],"type":"object"},"elaboration_declaration":{"oneOf":[{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/elaboration_field"},"minItems":1,"type":"array"},"kind":{"const":"structure"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/elaboration_field"},"minItems":1,"type":"array"},"kind":{"const":"class"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"},"class":{"$ref":"#/$defs/elaboration_member"},"fields":{"items":{"$ref":"#/$defs/elaboration_assignment"},"minItems":1,"type":"array"},"kind":{"const":"instance"},"name":{"$ref":"#/$defs/elaboration_name"},"priority":{"const":1000}},"required":["arguments","class","fields","kind","name","priority"],"type":"object"},{"additionalProperties":false,"properties":{"constructors":{"items":{"$ref":"#/$defs/elaboration_constructor"},"minItems":1,"type":"array"},"kind":{"const":"inductive"},"mutual":{"$ref":"#/$defs/elaboration_name"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["constructors","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/elaboration_term"},"executable":{"type":"boolean"},"kind":{"const":"definition"},"mutual":{"$ref":"#/$defs/elaboration_name"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"production":{"$ref":"#/$defs/elaboration_production"},"recursive_argument":{"$ref":"#/$defs/elaboration_name"},"result":{"$ref":"#/$defs/elaboration_type"},"termination":{"additionalProperties":false,"properties":{"evidence":{"items":{"$ref":"#/$defs/elaboration_member"},"minItems":1,"type":"array"},"measure":{"$ref":"#/$defs/elaboration_term"}},"required":["evidence","measure"],"type":"object"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["body","kind","name","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"kind":{"const":"theorem"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"proof":{"$ref":"#/$defs/elaboration_proof"},"statement":{"$ref":"#/$defs/elaboration_term"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["kind","name","parameters","proof","statement"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"kind":{"const":"artifact"},"length":{"minimum":0,"type":"integer"},"name":{"$ref":"#/$defs/elaboration_name"},"role":{"enum":["binary","dataset","parameters","table","vocabulary"]},"schema":{"$ref":"#/$defs/elaboration_artifactSchema"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["kind","length","name","role","schema","sha256","type"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"input":{"$ref":"#/$defs/elaboration_modelBinder"},"invariant":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"contract"},"name":{"$ref":"#/$defs/elaboration_name"},"output":{"$ref":"#/$defs/elaboration_modelBinder"},"postcondition":{"$ref":"#/$defs/elaboration_member"},"precondition":{"$ref":"#/$defs/elaboration_member"},"state":{"$ref":"#/$defs/elaboration_contractState"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"validators":{"items":{"$ref":"#/$defs/elaboration_contractValidator"},"type":"array"}},"required":["input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"descriptor":{"$ref":"#/$defs/elaboration_descriptor"},"executable":{"type":"boolean"},"input":{"$ref":"#/$defs/elaboration_modelBinder"},"kind":{"const":"realization"},"name":{"$ref":"#/$defs/elaboration_name"},"output":{"$ref":"#/$defs/elaboration_type"},"state":{"$ref":"#/$defs/elaboration_realizationState"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["descriptor","input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/elaboration_claim"},"minItems":1,"type":"array"},"contract":{"$ref":"#/$defs/elaboration_modelUse"},"kind":{"const":"evidence"},"name":{"$ref":"#/$defs/elaboration_name"},"realization":{"$ref":"#/$defs/elaboration_modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["claims","contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"contract":{"$ref":"#/$defs/elaboration_modelUse"},"entry":{"items":{"$ref":"#/$defs/elaboration_member"},"type":"array"},"evidence":{"items":{"$ref":"#/$defs/elaboration_modelUse"},"type":"array"},"kind":{"const":"model"},"name":{"$ref":"#/$defs/elaboration_name"},"realization":{"$ref":"#/$defs/elaboration_modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"invariant":{"$ref":"#/$defs/elaboration_logicInvariant"},"kind":{"const":"logic"},"name":{"$ref":"#/$defs/elaboration_name"},"ranking":{"$ref":"#/$defs/elaboration_member"},"relation":{"$ref":"#/$defs/elaboration_member"},"state":{"$ref":"#/$defs/elaboration_contractState"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["kind","name","relation","state"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"binding":{"$ref":"#/$defs/elaboration_ruleBinding"},"conclusion":{"$ref":"#/$defs/elaboration_term"},"executable":{"type":"boolean"},"guard":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"inference_rule"},"logic":{"$ref":"#/$defs/elaboration_modelUse"},"name":{"$ref":"#/$defs/elaboration_name"},"progress":{"$ref":"#/$defs/elaboration_member"},"soundness":{"$ref":"#/$defs/elaboration_member"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["conclusion","guard","kind","logic","name","soundness"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"candidate":{"$ref":"#/$defs/elaboration_modelBinder"},"check":{"$ref":"#/$defs/elaboration_member"},"complete":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"verifier"},"name":{"$ref":"#/$defs/elaboration_name"},"sound":{"$ref":"#/$defs/elaboration_member"},"specification":{"$ref":"#/$defs/elaboration_member"},"subject":{"$ref":"#/$defs/elaboration_modelBinder"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["candidate","check","kind","name","sound","specification","subject"],"type":"object"},{"additionalProperties":false,"properties":{"answer":{"$ref":"#/$defs/elaboration_reasoningAnswer"},"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/elaboration_reasoningClaim"},"type":"array"},"executable":{"type":"boolean"},"kind":{"const":"reasoner"},"logic":{"$ref":"#/$defs/elaboration_modelUse"},"name":{"$ref":"#/$defs/elaboration_name"},"observation":{"$ref":"#/$defs/elaboration_modelBinder"},"observe":{"$ref":"#/$defs/elaboration_term"},"rules":{"items":{"$ref":"#/$defs/elaboration_modelUse"},"type":"array"},"strategy":{"$ref":"#/$defs/elaboration_reasoningStrategy"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"verifier":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["kind","name","observation","rules","strategy","verifier"],"type":"object"}]},"elaboration_descriptor":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"deterministic"}},"required":["body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"default":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"rule"},"rules":{"items":{"$ref":"#/$defs/elaboration_realizationRule"},"minItems":1,"type":"array"}},"required":["default","kind","rules"],"type":"object"},{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/elaboration_member"},"features":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"statistical"},"labels":{"items":{"$ref":"#/$defs/elaboration_term"},"minItems":1,"type":"array"},"scheme":{"const":"linear_scoring"},"weights":{"$ref":"#/$defs/elaboration_member"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/elaboration_member"}},"required":["bias","features","kind","labels","scheme","weights","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"architecture":{"const":"integer_feedforward"},"decoder":{"$ref":"#/$defs/elaboration_neuralDecoder"},"encoder":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"neural"},"layers":{"items":{"$ref":"#/$defs/elaboration_neuralLayer"},"minItems":1,"type":"array"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/elaboration_member"}},"required":["architecture","decoder","encoder","kind","layers","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"form":{"$ref":"#/$defs/elaboration_compositeForm"},"kind":{"const":"composite"}},"required":["form","kind"],"type":"object"}]},"elaboration_field":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["name","type"],"type":"object"},"elaboration_logicInvariant":{"additionalProperties":false,"properties":{"predicate":{"$ref":"#/$defs/elaboration_member"},"preserves":{"$ref":"#/$defs/elaboration_member"}},"required":["predicate","preserves"],"type":"object"},"elaboration_member":{"additionalProperties":false,"properties":{"module":{"$ref":"#/$defs/elaboration_name"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["name"],"type":"object"},"elaboration_modelBinder":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["name","type"],"type":"object"},"elaboration_modelUse":{"additionalProperties":false,"properties":{"member":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["member"],"type":"object"},"elaboration_name":{"description":"A name inside an elaboration. Besides every source spelling it admits the reserved spelling with two leading underscores, which only generated binders use; linking rejects it in every source module, and the source semantic_name excludes it.","pattern":"^(__)?[A-Za-z][A-Za-z0-9_]*(\\.(__)?[A-Za-z][A-Za-z0-9_]*)*$","type":"string"},"elaboration_neuralDecoder":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"argmax"},"labels":{"items":{"$ref":"#/$defs/elaboration_term"},"minItems":1,"type":"array"}},"required":["kind","labels"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/elaboration_name"},"body":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"function"}},"required":["binder","body","kind"],"type":"object"}]},"elaboration_neuralLayer":{"oneOf":[{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/elaboration_member"},"inputs":{"minimum":1,"type":"integer"},"kind":{"const":"dense"},"outputs":{"minimum":1,"type":"integer"},"weights":{"$ref":"#/$defs/elaboration_member"}},"required":["bias","inputs","kind","outputs","weights"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"relu"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"requantize"},"maximum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"minimum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"shift":{"maximum":4096,"minimum":0,"type":"integer"}},"required":["kind","maximum","minimum","shift"],"type":"object"}]},"elaboration_parameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["name","type"],"type":"object"},"elaboration_production":{"additionalProperties":false,"properties":{"effects":{"items":{"enum":["allocation","overflow","recursion"]},"type":"array","uniqueItems":true},"targets":{"items":{"enum":["rust-core","rust-std"]},"minItems":1,"type":"array","uniqueItems":true}},"required":["effects","targets"],"type":"object"},"elaboration_proof":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"reflexivity"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"decide"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/elaboration_member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"simplify"}},"required":["definitions","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/elaboration_proof"},"minItems":1,"type":"array"},"kind":{"const":"constructor"}},"required":["branches","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/elaboration_proofBranch"},"minItems":1,"type":"array"},"kind":{"const":"cases"},"scrutinee":{"$ref":"#/$defs/elaboration_name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/elaboration_proofBranch"},"minItems":1,"type":"array"},"generalizing":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"kind":{"const":"induction"},"scrutinee":{"$ref":"#/$defs/elaboration_name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"congruence"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"boolean_reflection"},"reflection":{"$ref":"#/$defs/elaboration_reflection"}},"required":["kind","reflection"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"kind":{"const":"apply"},"theorem":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/elaboration_member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"linear_arithmetic"}},"required":["kind"],"type":"object"}]},"elaboration_proofBranch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"constructor":{"$ref":"#/$defs/elaboration_name"},"proof":{"$ref":"#/$defs/elaboration_proof"}},"required":["binders","constructor","proof"],"type":"object"},"elaboration_realizationRule":{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/elaboration_term"},"guard":{"$ref":"#/$defs/elaboration_term"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["action","guard","name"],"type":"object"},"elaboration_realizationState":{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/elaboration_term"},"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["initial","name","type"],"type":"object"},"elaboration_reasoningAnswer":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["name","type","value"],"type":"object"},"elaboration_reasoningClaim":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"answer_correct"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"observation_invariant"},"predicate":{"$ref":"#/$defs/elaboration_member"},"preserved":{"$ref":"#/$defs/elaboration_member"}},"required":["initial","kind","predicate","preserved"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"terminates"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"}]},"elaboration_reasoningStrategy":{"oneOf":[{"additionalProperties":false,"properties":{"fuel":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"forward"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"budget":{"$ref":"#/$defs/elaboration_term"},"generator":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"generate_and_verify"}},"required":["generator","kind"],"type":"object"},{"additionalProperties":false,"properties":{"deduplicate":{"type":"boolean"},"frontier":{"$ref":"#/$defs/elaboration_term"},"fuel":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"search"},"order":{"enum":["breadth_first","depth_first"]}},"required":["kind","order"],"type":"object"}]},"elaboration_reflection":{"oneOf":[{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/elaboration_member"},"comparison":{"$ref":"#/$defs/elaboration_reflectionComparison"},"kind":{"const":"list"},"parameter":{"$ref":"#/$defs/elaboration_name"},"proposition_definition":{"$ref":"#/$defs/elaboration_member"},"values":{"$ref":"#/$defs/elaboration_name"}},"required":["boolean_definition","comparison","kind","parameter","proposition_definition","values"],"type":"object"},{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/elaboration_member"},"fields":{"items":{"$ref":"#/$defs/elaboration_reflectionField"},"minItems":1,"type":"array"},"kind":{"const":"record"},"proposition_definition":{"$ref":"#/$defs/elaboration_member"},"record":{"$ref":"#/$defs/elaboration_name"}},"required":["boolean_definition","fields","kind","proposition_definition","record"],"type":"object"}]},"elaboration_reflectionComparison":{"enum":["nat_beq","nat_blt"]},"elaboration_reflectionField":{"additionalProperties":false,"properties":{"expected":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]},"field":{"$ref":"#/$defs/elaboration_name"}},"required":["expected","field"],"type":"object"},"elaboration_ruleBinding":{"additionalProperties":false,"properties":{"candidates":{"$ref":"#/$defs/elaboration_term"},"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["candidates","name","type"],"type":"object"},"elaboration_term":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"var"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"nat"},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bool"},"value":{"type":"boolean"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["int","int8","int16","int32","int64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["uint8","uint16","uint32","uint64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"string"},"value":{"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"hex":{"pattern":"^([0-9a-f]{2})*$","type":"string"},"kind":{"const":"bytes"}},"required":["hex","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"kind":{"const":"primitive"},"operation":{"enum":["append","bit_and","bit_not","bit_or","bit_xor","checked_add","checked_convert","checked_multiply","checked_negate","checked_quotient","checked_subtract","compare_bytes","equal","format_decimal","graph_reachable","graph_successors","graph_topological","index","iterate","iterate_until","join","length","less_than","list_fold","map_contains","map_entries","map_fold","map_insert","map_keys","map_lookup","map_remove","map_size","map_values","multiply","negate","parse_decimal","quotient","remainder","set_contains","set_difference","set_elements","set_fold","set_insert","set_intersection","set_remove","set_size","set_union","shift_left","shift_right","slice","split_exact","subtract","utf8_decode","utf8_encode"]},"result":{"$ref":"#/$defs/elaboration_type"}},"required":["arguments","kind","operation","result"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"unit"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"nil"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"head":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"cons"},"tail":{"$ref":"#/$defs/elaboration_term"}},"required":["head","kind","tail"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/elaboration_assignment"},"type":"array"},"kind":{"const":"record"},"type":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["fields","kind","type"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"constructor":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"constructor"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","constructor","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"},"class":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"instance_value"},"resolved":{"$ref":"#/$defs/elaboration_member"}},"required":["arguments","class","kind","resolved"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/elaboration_name"},"kind":{"const":"project"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["field","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"function":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"call"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"condition":{"$ref":"#/$defs/elaboration_term"},"else_value":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"if"},"then_value":{"$ref":"#/$defs/elaboration_term"}},"required":["condition","else_value","kind","then_value"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/elaboration_branch"},"minItems":1,"type":"array"},"kind":{"const":"match"},"scrutinee":{"$ref":"#/$defs/elaboration_term"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"eq"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"le"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"lt"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"add"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"beq"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"ble"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"blt"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"and"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"or"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"iff"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"conclusion":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"implies"},"premise":{"$ref":"#/$defs/elaboration_term"}},"required":["conclusion","kind","premise"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"not"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/elaboration_parameter"},"body":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"forall"}},"required":["binder","body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prop_and"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/elaboration_parameter"},"body":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"let"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["binder","body","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"pair"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"first"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"second"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/elaboration_term"},"captures":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"kind":{"const":"lambda"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"minItems":1,"type":"array"}},"required":["body","captures","kind","parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"minItems":1,"type":"array"},"function":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"apply"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"function":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"function_ref"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"entries":{"items":{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/elaboration_term"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["key","value"],"type":"object"},"type":"array"},"key":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"map_literal"},"value":{"$ref":"#/$defs/elaboration_type"}},"required":["entries","key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/elaboration_type"},"elements":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"kind":{"const":"set_literal"}},"required":["element","elements","kind"],"type":"object"},{"additionalProperties":false,"properties":{"edges":{"items":{"additionalProperties":false,"properties":{"source":{"$ref":"#/$defs/elaboration_term"},"target":{"$ref":"#/$defs/elaboration_term"}},"required":["source","target"],"type":"object"},"type":"array"},"kind":{"const":"graph_literal"},"node":{"$ref":"#/$defs/elaboration_type"},"nodes":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"}},"required":["edges","kind","node","nodes"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"checks":{"items":{"enum":["input_invariant","output_invariant","postcondition","precondition"]},"type":"array","uniqueItems":true},"kind":{"const":"checked_apply"},"model":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","checks","kind","model"],"type":"object"}]},"elaboration_type":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"enum":["bool","bytes","int","int8","int16","int32","int64","nat","ordering","prop","string","type","uint8","uint16","uint32","uint64","unit"]}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"parameter"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"list"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"},"kind":{"const":"named"},"member":{"$ref":"#/$defs/elaboration_member"}},"required":["arguments","kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"option"},"value":{"$ref":"#/$defs/elaboration_type"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"result"},"ok":{"$ref":"#/$defs/elaboration_type"}},"required":["error","kind","ok"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/elaboration_type"},"right":{"$ref":"#/$defs/elaboration_type"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"function"},"parameters":{"items":{"$ref":"#/$defs/elaboration_type"},"minItems":1,"type":"array"},"result":{"$ref":"#/$defs/elaboration_type"}},"required":["kind","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"map"},"value":{"$ref":"#/$defs/elaboration_type"}},"required":["key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"set"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"contract_violation"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"reasoning_failure"}},"required":["kind"],"type":"object"}]},"formula":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"term"},"term":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","term"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"helper":{"enum":["all","complete","preserves","reaches","search_ok","sound","star"]},"kind":{"const":"helper"}},"required":["arguments","helper","kind"],"type":"object"},{"additionalProperties":false,"properties":{"conclusion":{"$ref":"#/$defs/formula"},"kind":{"const":"implies"},"premise":{"$ref":"#/$defs/formula"}},"required":["conclusion","kind","premise"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"true"}},"required":["kind"],"type":"object"}]},"generatedTheorem":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"statement":{"$ref":"#/$defs/formula"},"template":{"enum":["accept_sound","conclude_accept","conclude_sound","explained_forward","explained_generate","explained_search","extend","fire_cases","next_progress","next_sound","replay_fire","replay_sound","run_invariant","search_count","search_growth","search_peak","search_step","step_count","step_none","step_some","step_trace","successors_bound","successors_free","term","try_count","try_sound","unfold","verdict_forward","verdict_generate","verdict_search","verify_sound"]},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array"}},"required":["name","parameters","statement","template","type_parameters"],"type":"object"},"module":{"additionalProperties":false,"properties":{"core":{"$ref":"#/$defs/semanticValue"},"declarations":{"items":{"$ref":"#/$defs/declaration"},"type":"array"},"glossary":{"items":{"type":"string"},"type":"array"},"imports":{"items":{"type":"string"},"type":"array"},"lean_module":{"minLength":1,"type":"string"},"linked_ir":{"$ref":"#/$defs/semanticValue"},"name":{"minLength":1,"type":"string"},"semantic":{"$ref":"#/$defs/semanticModule"},"source":{"$ref":"#/$defs/source"},"visible_packages":{"items":{"type":"string"},"type":"array"}},"required":["declarations","glossary","imports","lean_module","linked_ir","name","source","visible_packages"],"type":"object"},"obligation":{"additionalProperties":false,"properties":{"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"role":{"minLength":1,"type":"string"},"statement":{"$ref":"#/$defs/elaboration_term"},"theorem":{"$ref":"#/$defs/elaboration_member"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array"}},"required":["parameters","role","statement","theorem","type_parameters"],"type":"object"},"origin":{"additionalProperties":false,"properties":{"proof":{"$ref":"#/$defs/range"},"proof_steps":{"items":{"$ref":"#/$defs/range"},"type":"array"},"sentence":{"$ref":"#/$defs/range"},"whole":{"$ref":"#/$defs/range"}},"required":["proof_steps","sentence","whole"],"type":"object"},"range":{"additionalProperties":false,"properties":{"end":{"minimum":0,"type":"integer"},"start":{"minimum":0,"type":"integer"}},"required":["end","start"],"type":"object"},"semanticModule":{"additionalProperties":false,"properties":{"declarations":{"items":{"$ref":"#/$defs/semantic_declaration"},"minItems":1,"type":"array"},"spec":{"const":"lexlean/semantic-module/2"}},"required":["declarations","spec"],"type":"object"},"semanticValue":{"oneOf":[{"type":"boolean"},{"type":"integer"},{"type":"string"},{"items":{"$ref":"#/$defs/semanticValue"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/semanticValue"},"type":"object"}]},"semantic_artifactSchema":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"bytes"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"enum":["int16","int32","int64","int8","uint16","uint32","uint64","uint8"]},"kind":{"const":"int_tensor"},"shape":{"items":{"minimum":1,"type":"integer"},"minItems":1,"type":"array"}},"required":["element","kind","shape"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"utf8_lines"}},"required":["kind"],"type":"object"}]},"semantic_assignment":{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/semantic_name"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["field","value"],"type":"object"},"semantic_branch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/semantic_term"},"constructor":{"$ref":"#/$defs/semantic_member"}},"required":["binders","body","constructor"],"type":"object"},"semantic_claim":{"oneOf":[{"additionalProperties":false,"properties":{"agreements":{"minimum":0,"type":"integer"},"comparison":{"$ref":"#/$defs/semantic_member"},"comparison_sound":{"$ref":"#/$defs/semantic_member"},"dataset":{"$ref":"#/$defs/semantic_member"},"examples":{"minimum":0,"type":"integer"},"kind":{"const":"dataset_agreement"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["agreements","comparison","comparison_sound","dataset","examples","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"equivalent_to"},"reference":{"$ref":"#/$defs/semantic_modelUse"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","reference","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"preserves_invariant"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"satisfies_contract"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"}]},"semantic_compositeForm":{"oneOf":[{"additionalProperties":false,"properties":{"junctions":{"items":{"$ref":"#/$defs/semantic_compositeJunction"},"minItems":1,"type":"array"},"kind":{"const":"sequence"},"stages":{"items":{"$ref":"#/$defs/semantic_modelUse"},"minItems":2,"type":"array"}},"required":["junctions","kind","stages"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"fanout"},"left":{"$ref":"#/$defs/semantic_modelUse"},"right":{"$ref":"#/$defs/semantic_modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/semantic_modelUse"},"right":{"$ref":"#/$defs/semantic_modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"else":{"$ref":"#/$defs/semantic_modelUse"},"guard":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"branch"},"then":{"$ref":"#/$defs/semantic_modelUse"}},"required":["else","guard","kind","then"],"type":"object"},{"additionalProperties":false,"properties":{"junction":{"$ref":"#/$defs/semantic_compositeJunction"},"kind":{"const":"scan"},"stage":{"$ref":"#/$defs/semantic_modelUse"}},"required":["junction","kind","stage"],"type":"object"}]},"semantic_compositeJunction":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"unconditional"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"evidence":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"proved"}},"required":["evidence","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"checked"}},"required":["kind"],"type":"object"}]},"semantic_constructor":{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["fields","name"],"type":"object"},"semantic_contractState":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"next":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["name","next","type"],"type":"object"},"semantic_contractValidator":{"additionalProperties":false,"properties":{"complete":{"$ref":"#/$defs/semantic_member"},"predicate":{"enum":["invariant","postcondition","precondition"]},"sound":{"$ref":"#/$defs/semantic_member"},"validator":{"$ref":"#/$defs/semantic_member"}},"required":["predicate","sound","validator"],"type":"object"},"semantic_declaration":{"oneOf":[{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/semantic_field"},"minItems":1,"type":"array"},"kind":{"const":"structure"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/semantic_field"},"minItems":1,"type":"array"},"kind":{"const":"class"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"},"class":{"$ref":"#/$defs/semantic_member"},"fields":{"items":{"$ref":"#/$defs/semantic_assignment"},"minItems":1,"type":"array"},"kind":{"const":"instance"},"name":{"$ref":"#/$defs/semantic_name"},"priority":{"const":1000}},"required":["arguments","class","fields","kind","name","priority"],"type":"object"},{"additionalProperties":false,"properties":{"constructors":{"items":{"$ref":"#/$defs/semantic_constructor"},"minItems":1,"type":"array"},"kind":{"const":"inductive"},"mutual":{"$ref":"#/$defs/semantic_name"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["constructors","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/semantic_term"},"executable":{"type":"boolean"},"kind":{"const":"definition"},"mutual":{"$ref":"#/$defs/semantic_name"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"production":{"$ref":"#/$defs/semantic_production"},"recursive_argument":{"$ref":"#/$defs/semantic_name"},"result":{"$ref":"#/$defs/semantic_type"},"termination":{"additionalProperties":false,"properties":{"evidence":{"items":{"$ref":"#/$defs/semantic_member"},"minItems":1,"type":"array"},"measure":{"$ref":"#/$defs/semantic_term"}},"required":["evidence","measure"],"type":"object"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["body","kind","name","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"kind":{"const":"theorem"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"proof":{"$ref":"#/$defs/semantic_proof"},"statement":{"$ref":"#/$defs/semantic_term"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["kind","name","parameters","proof","statement"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"kind":{"const":"artifact"},"length":{"minimum":0,"type":"integer"},"name":{"$ref":"#/$defs/semantic_name"},"role":{"enum":["binary","dataset","parameters","table","vocabulary"]},"schema":{"$ref":"#/$defs/semantic_artifactSchema"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["kind","length","name","role","schema","sha256","type"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"input":{"$ref":"#/$defs/semantic_modelBinder"},"invariant":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"contract"},"name":{"$ref":"#/$defs/semantic_name"},"output":{"$ref":"#/$defs/semantic_modelBinder"},"postcondition":{"$ref":"#/$defs/semantic_member"},"precondition":{"$ref":"#/$defs/semantic_member"},"state":{"$ref":"#/$defs/semantic_contractState"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"validators":{"items":{"$ref":"#/$defs/semantic_contractValidator"},"type":"array"}},"required":["input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"descriptor":{"$ref":"#/$defs/semantic_descriptor"},"executable":{"type":"boolean"},"input":{"$ref":"#/$defs/semantic_modelBinder"},"kind":{"const":"realization"},"name":{"$ref":"#/$defs/semantic_name"},"output":{"$ref":"#/$defs/semantic_type"},"state":{"$ref":"#/$defs/semantic_realizationState"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["descriptor","input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/semantic_claim"},"minItems":1,"type":"array"},"contract":{"$ref":"#/$defs/semantic_modelUse"},"kind":{"const":"evidence"},"name":{"$ref":"#/$defs/semantic_name"},"realization":{"$ref":"#/$defs/semantic_modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["claims","contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"contract":{"$ref":"#/$defs/semantic_modelUse"},"entry":{"items":{"$ref":"#/$defs/semantic_member"},"type":"array"},"evidence":{"items":{"$ref":"#/$defs/semantic_modelUse"},"type":"array"},"kind":{"const":"model"},"name":{"$ref":"#/$defs/semantic_name"},"realization":{"$ref":"#/$defs/semantic_modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"invariant":{"$ref":"#/$defs/semantic_logicInvariant"},"kind":{"const":"logic"},"name":{"$ref":"#/$defs/semantic_name"},"ranking":{"$ref":"#/$defs/semantic_member"},"relation":{"$ref":"#/$defs/semantic_member"},"state":{"$ref":"#/$defs/semantic_contractState"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["kind","name","relation","state"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"binding":{"$ref":"#/$defs/semantic_ruleBinding"},"conclusion":{"$ref":"#/$defs/semantic_term"},"executable":{"type":"boolean"},"guard":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"inference_rule"},"logic":{"$ref":"#/$defs/semantic_modelUse"},"name":{"$ref":"#/$defs/semantic_name"},"progress":{"$ref":"#/$defs/semantic_member"},"soundness":{"$ref":"#/$defs/semantic_member"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["conclusion","guard","kind","logic","name","soundness"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"candidate":{"$ref":"#/$defs/semantic_modelBinder"},"check":{"$ref":"#/$defs/semantic_member"},"complete":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"verifier"},"name":{"$ref":"#/$defs/semantic_name"},"sound":{"$ref":"#/$defs/semantic_member"},"specification":{"$ref":"#/$defs/semantic_member"},"subject":{"$ref":"#/$defs/semantic_modelBinder"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["candidate","check","kind","name","sound","specification","subject"],"type":"object"},{"additionalProperties":false,"properties":{"answer":{"$ref":"#/$defs/semantic_reasoningAnswer"},"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/semantic_reasoningClaim"},"type":"array"},"executable":{"type":"boolean"},"kind":{"const":"reasoner"},"logic":{"$ref":"#/$defs/semantic_modelUse"},"name":{"$ref":"#/$defs/semantic_name"},"observation":{"$ref":"#/$defs/semantic_modelBinder"},"observe":{"$ref":"#/$defs/semantic_term"},"rules":{"items":{"$ref":"#/$defs/semantic_modelUse"},"type":"array"},"strategy":{"$ref":"#/$defs/semantic_reasoningStrategy"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"verifier":{"$ref":"#/$defs/semantic_modelUse"}},"required":["kind","name","observation","rules","strategy","verifier"],"type":"object"}]},"semantic_descriptor":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"deterministic"}},"required":["body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"default":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"rule"},"rules":{"items":{"$ref":"#/$defs/semantic_realizationRule"},"minItems":1,"type":"array"}},"required":["default","kind","rules"],"type":"object"},{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/semantic_member"},"features":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"statistical"},"labels":{"items":{"$ref":"#/$defs/semantic_term"},"minItems":1,"type":"array"},"scheme":{"const":"linear_scoring"},"weights":{"$ref":"#/$defs/semantic_member"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/semantic_member"}},"required":["bias","features","kind","labels","scheme","weights","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"architecture":{"const":"integer_feedforward"},"decoder":{"$ref":"#/$defs/semantic_neuralDecoder"},"encoder":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"neural"},"layers":{"items":{"$ref":"#/$defs/semantic_neuralLayer"},"minItems":1,"type":"array"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/semantic_member"}},"required":["architecture","decoder","encoder","kind","layers","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"form":{"$ref":"#/$defs/semantic_compositeForm"},"kind":{"const":"composite"}},"required":["form","kind"],"type":"object"}]},"semantic_field":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["name","type"],"type":"object"},"semantic_logicInvariant":{"additionalProperties":false,"properties":{"predicate":{"$ref":"#/$defs/semantic_member"},"preserves":{"$ref":"#/$defs/semantic_member"}},"required":["predicate","preserves"],"type":"object"},"semantic_member":{"additionalProperties":false,"properties":{"module":{"$ref":"#/$defs/semantic_name"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["name"],"type":"object"},"semantic_modelBinder":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["name","type"],"type":"object"},"semantic_modelUse":{"additionalProperties":false,"properties":{"member":{"$ref":"#/$defs/semantic_member"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["member"],"type":"object"},"semantic_name":{"pattern":"^[A-Za-z][A-Za-z0-9_]*(\\.[A-Za-z][A-Za-z0-9_]*)*$","type":"string"},"semantic_neuralDecoder":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"argmax"},"labels":{"items":{"$ref":"#/$defs/semantic_term"},"minItems":1,"type":"array"}},"required":["kind","labels"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/semantic_name"},"body":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"function"}},"required":["binder","body","kind"],"type":"object"}]},"semantic_neuralLayer":{"oneOf":[{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/semantic_member"},"inputs":{"minimum":1,"type":"integer"},"kind":{"const":"dense"},"outputs":{"minimum":1,"type":"integer"},"weights":{"$ref":"#/$defs/semantic_member"}},"required":["bias","inputs","kind","outputs","weights"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"relu"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"requantize"},"maximum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"minimum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"shift":{"maximum":4096,"minimum":0,"type":"integer"}},"required":["kind","maximum","minimum","shift"],"type":"object"}]},"semantic_parameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["name","type"],"type":"object"},"semantic_production":{"additionalProperties":false,"properties":{"effects":{"items":{"enum":["allocation","overflow","recursion"]},"type":"array","uniqueItems":true},"targets":{"items":{"enum":["rust-core","rust-std"]},"minItems":1,"type":"array","uniqueItems":true}},"required":["effects","targets"],"type":"object"},"semantic_proof":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"reflexivity"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"decide"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/semantic_member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"simplify"}},"required":["definitions","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/semantic_proof"},"minItems":1,"type":"array"},"kind":{"const":"constructor"}},"required":["branches","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/semantic_proofBranch"},"minItems":1,"type":"array"},"kind":{"const":"cases"},"scrutinee":{"$ref":"#/$defs/semantic_name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/semantic_proofBranch"},"minItems":1,"type":"array"},"generalizing":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"kind":{"const":"induction"},"scrutinee":{"$ref":"#/$defs/semantic_name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"congruence"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"boolean_reflection"},"reflection":{"$ref":"#/$defs/semantic_reflection"}},"required":["kind","reflection"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"kind":{"const":"apply"},"theorem":{"$ref":"#/$defs/semantic_member"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/semantic_member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"linear_arithmetic"}},"required":["kind"],"type":"object"}]},"semantic_proofBranch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"constructor":{"$ref":"#/$defs/semantic_name"},"proof":{"$ref":"#/$defs/semantic_proof"}},"required":["binders","constructor","proof"],"type":"object"},"semantic_realizationRule":{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/semantic_term"},"guard":{"$ref":"#/$defs/semantic_term"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["action","guard","name"],"type":"object"},"semantic_realizationState":{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/semantic_term"},"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["initial","name","type"],"type":"object"},"semantic_reasoningAnswer":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["name","type","value"],"type":"object"},"semantic_reasoningClaim":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"answer_correct"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"observation_invariant"},"predicate":{"$ref":"#/$defs/semantic_member"},"preserved":{"$ref":"#/$defs/semantic_member"}},"required":["initial","kind","predicate","preserved"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"terminates"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"}]},"semantic_reasoningStrategy":{"oneOf":[{"additionalProperties":false,"properties":{"fuel":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"forward"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"budget":{"$ref":"#/$defs/semantic_term"},"generator":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"generate_and_verify"}},"required":["generator","kind"],"type":"object"},{"additionalProperties":false,"properties":{"deduplicate":{"type":"boolean"},"frontier":{"$ref":"#/$defs/semantic_term"},"fuel":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"search"},"order":{"enum":["breadth_first","depth_first"]}},"required":["kind","order"],"type":"object"}]},"semantic_reflection":{"oneOf":[{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/semantic_member"},"comparison":{"$ref":"#/$defs/semantic_reflectionComparison"},"kind":{"const":"list"},"parameter":{"$ref":"#/$defs/semantic_name"},"proposition_definition":{"$ref":"#/$defs/semantic_member"},"values":{"$ref":"#/$defs/semantic_name"}},"required":["boolean_definition","comparison","kind","parameter","proposition_definition","values"],"type":"object"},{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/semantic_member"},"fields":{"items":{"$ref":"#/$defs/semantic_reflectionField"},"minItems":1,"type":"array"},"kind":{"const":"record"},"proposition_definition":{"$ref":"#/$defs/semantic_member"},"record":{"$ref":"#/$defs/semantic_name"}},"required":["boolean_definition","fields","kind","proposition_definition","record"],"type":"object"}]},"semantic_reflectionComparison":{"enum":["nat_beq","nat_blt"]},"semantic_reflectionField":{"additionalProperties":false,"properties":{"expected":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]},"field":{"$ref":"#/$defs/semantic_name"}},"required":["expected","field"],"type":"object"},"semantic_ruleBinding":{"additionalProperties":false,"properties":{"candidates":{"$ref":"#/$defs/semantic_term"},"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["candidates","name","type"],"type":"object"},"semantic_term":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"var"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"nat"},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bool"},"value":{"type":"boolean"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["int","int8","int16","int32","int64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["uint8","uint16","uint32","uint64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"string"},"value":{"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"hex":{"pattern":"^([0-9a-f]{2})*$","type":"string"},"kind":{"const":"bytes"}},"required":["hex","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"kind":{"const":"primitive"},"operation":{"enum":["append","bit_and","bit_not","bit_or","bit_xor","checked_add","checked_convert","checked_multiply","checked_negate","checked_quotient","checked_subtract","compare_bytes","equal","format_decimal","graph_reachable","graph_successors","graph_topological","index","iterate","iterate_until","join","length","less_than","list_fold","map_contains","map_entries","map_fold","map_insert","map_keys","map_lookup","map_remove","map_size","map_values","multiply","negate","parse_decimal","quotient","remainder","set_contains","set_difference","set_elements","set_fold","set_insert","set_intersection","set_remove","set_size","set_union","shift_left","shift_right","slice","split_exact","subtract","utf8_decode","utf8_encode"]},"result":{"$ref":"#/$defs/semantic_type"}},"required":["arguments","kind","operation","result"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"unit"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"nil"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"head":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"cons"},"tail":{"$ref":"#/$defs/semantic_term"}},"required":["head","kind","tail"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/semantic_assignment"},"type":"array"},"kind":{"const":"record"},"type":{"$ref":"#/$defs/semantic_member"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["fields","kind","type"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"constructor":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"constructor"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","constructor","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"},"class":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"instance_value"},"resolved":{"$ref":"#/$defs/semantic_member"}},"required":["arguments","class","kind","resolved"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/semantic_name"},"kind":{"const":"project"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["field","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"function":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"call"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"condition":{"$ref":"#/$defs/semantic_term"},"else_value":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"if"},"then_value":{"$ref":"#/$defs/semantic_term"}},"required":["condition","else_value","kind","then_value"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/semantic_branch"},"minItems":1,"type":"array"},"kind":{"const":"match"},"scrutinee":{"$ref":"#/$defs/semantic_term"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"eq"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"le"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"lt"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"add"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"beq"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"ble"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"blt"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"and"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"or"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"iff"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"conclusion":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"implies"},"premise":{"$ref":"#/$defs/semantic_term"}},"required":["conclusion","kind","premise"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"not"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/semantic_parameter"},"body":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"forall"}},"required":["binder","body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prop_and"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/semantic_parameter"},"body":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"let"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["binder","body","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"pair"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"first"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"second"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/semantic_term"},"captures":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"kind":{"const":"lambda"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"minItems":1,"type":"array"}},"required":["body","captures","kind","parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"minItems":1,"type":"array"},"function":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"apply"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"function":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"function_ref"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"entries":{"items":{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/semantic_term"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["key","value"],"type":"object"},"type":"array"},"key":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"map_literal"},"value":{"$ref":"#/$defs/semantic_type"}},"required":["entries","key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/semantic_type"},"elements":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"kind":{"const":"set_literal"}},"required":["element","elements","kind"],"type":"object"},{"additionalProperties":false,"properties":{"edges":{"items":{"additionalProperties":false,"properties":{"source":{"$ref":"#/$defs/semantic_term"},"target":{"$ref":"#/$defs/semantic_term"}},"required":["source","target"],"type":"object"},"type":"array"},"kind":{"const":"graph_literal"},"node":{"$ref":"#/$defs/semantic_type"},"nodes":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"}},"required":["edges","kind","node","nodes"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"checks":{"items":{"enum":["input_invariant","output_invariant","postcondition","precondition"]},"type":"array","uniqueItems":true},"kind":{"const":"checked_apply"},"model":{"$ref":"#/$defs/semantic_member"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","checks","kind","model"],"type":"object"}]},"semantic_type":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"enum":["bool","bytes","int","int8","int16","int32","int64","nat","ordering","prop","string","type","uint8","uint16","uint32","uint64","unit"]}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"parameter"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"list"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"},"kind":{"const":"named"},"member":{"$ref":"#/$defs/semantic_member"}},"required":["arguments","kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"option"},"value":{"$ref":"#/$defs/semantic_type"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"result"},"ok":{"$ref":"#/$defs/semantic_type"}},"required":["error","kind","ok"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/semantic_type"},"right":{"$ref":"#/$defs/semantic_type"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"function"},"parameters":{"items":{"$ref":"#/$defs/semantic_type"},"minItems":1,"type":"array"},"result":{"$ref":"#/$defs/semantic_type"}},"required":["kind","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"map"},"value":{"$ref":"#/$defs/semantic_type"}},"required":["key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"set"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"contract_violation"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"reasoning_failure"}},"required":["kind"],"type":"object"}]},"source":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"$ref":"#/$defs/digest"}},"required":["path","sha256"],"type":"object"}},"$id":"https://github.com/afflom/lexlean/schemas/semantic-snapshot-v2.schema.json","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"compiler_semantics_id":{"$ref":"#/$defs/digest"},"language":{"const":"1.2"},"lexicon_closure":{"$ref":"#/$defs/semanticValue"},"modules":{"items":{"$ref":"#/$defs/module"},"type":"array"},"semantic_id":{"$ref":"#/$defs/digest"},"source_id":{"$ref":"#/$defs/digest"},"spec":{"const":"lexlean/semantic-snapshot/2"}},"required":["compiler_semantics_id","language","lexicon_closure","modules","semantic_id","source_id","spec"],"title":"LexLean language-1.2 semantic snapshot","type":"object"} +{"$defs":{"axiomPolicy":{"additionalProperties":false,"properties":{"axioms":{"items":{"type":"string"},"type":"array","uniqueItems":true},"kind":{"enum":["allow","exact","none"]}},"required":["axioms","kind"],"type":"object"},"crossCheck":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"proof":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"theorem"},"theorem":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["kind","theorem","type_arguments"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"decide"}},"required":["kind"],"type":"object"}]},"statement":{"oneOf":[{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"helper":{"minLength":1,"type":"string"},"kind":{"const":"helper"}},"required":["arguments","helper","kind"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"$ref":"#/$defs/elaboration_name"},"element":{"enum":["int16","int32","int64","int8","uint16","uint32","uint64","uint8"]},"kind":{"const":"tensor"},"shape":{"items":{"minimum":1,"type":"integer"},"minItems":1,"type":"array"}},"required":["artifact","element","kind","shape"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"$ref":"#/$defs/elaboration_name"},"kind":{"const":"lines"}},"required":["artifact","kind"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"$ref":"#/$defs/elaboration_name"},"kind":{"const":"bytes"}},"required":["artifact","kind"],"type":"object"}]},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array"}},"required":["name","proof","statement","type_parameters"],"type":"object"},"declaration":{"additionalProperties":false,"properties":{"alpha_id":{"$ref":"#/$defs/digest"},"axiom_policy":{"$ref":"#/$defs/axiomPolicy"},"elaboration":{"$ref":"#/$defs/elaboration"},"kind":{"enum":["abbrev","artifact","class","constructor","contract","corollary","definition","evidence","inductive","inference_rule","instance","lemma","logic","model","predicatedefinition","realization","reasoner","recursor","structure","termdefinition","theorem","typedefinition","verifier"]},"lean_name":{"minLength":1,"type":"string"},"linked_ir":{"$ref":"#/$defs/semanticValue"},"logical_id":{"minLength":1,"type":"string"},"origin":{"$ref":"#/$defs/origin"}},"required":["axiom_policy","kind","lean_name","linked_ir","logical_id"],"type":"object"},"digest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"elaboration":{"additionalProperties":false,"properties":{"alpha_ids":{"additionalProperties":{"$ref":"#/$defs/digest"},"type":"object"},"cross_checks":{"items":{"$ref":"#/$defs/crossCheck"},"type":"array"},"declarations":{"items":{"$ref":"#/$defs/elaboration_declaration"},"type":"array"},"obligations":{"items":{"$ref":"#/$defs/obligation"},"type":"array"},"required_checks":{"items":{"enum":["input_invariant","output_invariant","postcondition","precondition"]},"type":"array"},"theorems":{"items":{"$ref":"#/$defs/generatedTheorem"},"type":"array"}},"required":["alpha_ids","cross_checks","declarations","obligations","required_checks"],"type":"object"},"elaboration_artifactSchema":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"bytes"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"enum":["int16","int32","int64","int8","uint16","uint32","uint64","uint8"]},"kind":{"const":"int_tensor"},"shape":{"items":{"minimum":1,"type":"integer"},"minItems":1,"type":"array"}},"required":["element","kind","shape"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"utf8_lines"}},"required":["kind"],"type":"object"}]},"elaboration_assignment":{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/elaboration_name"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["field","value"],"type":"object"},"elaboration_branch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/elaboration_term"},"constructor":{"$ref":"#/$defs/elaboration_member"}},"required":["binders","body","constructor"],"type":"object"},"elaboration_claim":{"oneOf":[{"additionalProperties":false,"properties":{"agreements":{"minimum":0,"type":"integer"},"comparison":{"$ref":"#/$defs/elaboration_member"},"comparison_sound":{"$ref":"#/$defs/elaboration_member"},"dataset":{"$ref":"#/$defs/elaboration_member"},"examples":{"minimum":0,"type":"integer"},"kind":{"const":"dataset_agreement"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["agreements","comparison","comparison_sound","dataset","examples","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"equivalent_to"},"reference":{"$ref":"#/$defs/elaboration_modelUse"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","reference","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"preserves_invariant"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"satisfies_contract"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"}]},"elaboration_compositeForm":{"oneOf":[{"additionalProperties":false,"properties":{"junctions":{"items":{"$ref":"#/$defs/elaboration_compositeJunction"},"minItems":1,"type":"array"},"kind":{"const":"sequence"},"stages":{"items":{"$ref":"#/$defs/elaboration_modelUse"},"minItems":2,"type":"array"}},"required":["junctions","kind","stages"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"fanout"},"left":{"$ref":"#/$defs/elaboration_modelUse"},"right":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/elaboration_modelUse"},"right":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"else":{"$ref":"#/$defs/elaboration_modelUse"},"guard":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"branch"},"then":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["else","guard","kind","then"],"type":"object"},{"additionalProperties":false,"properties":{"junction":{"$ref":"#/$defs/elaboration_compositeJunction"},"kind":{"const":"scan"},"stage":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["junction","kind","stage"],"type":"object"}]},"elaboration_compositeJunction":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"unconditional"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"evidence":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"proved"}},"required":["evidence","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"checked"}},"required":["kind"],"type":"object"}]},"elaboration_constructor":{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["fields","name"],"type":"object"},"elaboration_contractState":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"next":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["name","next","type"],"type":"object"},"elaboration_contractValidator":{"additionalProperties":false,"properties":{"complete":{"$ref":"#/$defs/elaboration_member"},"predicate":{"enum":["invariant","postcondition","precondition"]},"sound":{"$ref":"#/$defs/elaboration_member"},"validator":{"$ref":"#/$defs/elaboration_member"}},"required":["predicate","sound","validator"],"type":"object"},"elaboration_declaration":{"oneOf":[{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/elaboration_field"},"minItems":1,"type":"array"},"kind":{"const":"structure"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/elaboration_field"},"minItems":1,"type":"array"},"kind":{"const":"class"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"},"class":{"$ref":"#/$defs/elaboration_member"},"fields":{"items":{"$ref":"#/$defs/elaboration_assignment"},"minItems":1,"type":"array"},"kind":{"const":"instance"},"name":{"$ref":"#/$defs/elaboration_name"},"priority":{"const":1000}},"required":["arguments","class","fields","kind","name","priority"],"type":"object"},{"additionalProperties":false,"properties":{"constructors":{"items":{"$ref":"#/$defs/elaboration_constructor"},"minItems":1,"type":"array"},"kind":{"const":"inductive"},"mutual":{"$ref":"#/$defs/elaboration_name"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["constructors","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/elaboration_term"},"executable":{"type":"boolean"},"kind":{"const":"definition"},"mutual":{"$ref":"#/$defs/elaboration_name"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"production":{"$ref":"#/$defs/elaboration_production"},"recursive_argument":{"$ref":"#/$defs/elaboration_name"},"result":{"$ref":"#/$defs/elaboration_type"},"termination":{"additionalProperties":false,"properties":{"evidence":{"items":{"$ref":"#/$defs/elaboration_member"},"minItems":1,"type":"array"},"measure":{"$ref":"#/$defs/elaboration_term"}},"required":["evidence","measure"],"type":"object"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["body","kind","name","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"kind":{"const":"theorem"},"name":{"$ref":"#/$defs/elaboration_name"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"proof":{"$ref":"#/$defs/elaboration_proof"},"statement":{"$ref":"#/$defs/elaboration_term"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["kind","name","parameters","proof","statement"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"kind":{"const":"artifact"},"length":{"minimum":0,"type":"integer"},"name":{"$ref":"#/$defs/elaboration_name"},"role":{"enum":["binary","dataset","parameters","table","vocabulary"]},"schema":{"$ref":"#/$defs/elaboration_artifactSchema"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["kind","length","name","role","schema","sha256","type"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"input":{"$ref":"#/$defs/elaboration_modelBinder"},"invariant":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"contract"},"name":{"$ref":"#/$defs/elaboration_name"},"output":{"$ref":"#/$defs/elaboration_modelBinder"},"postcondition":{"$ref":"#/$defs/elaboration_member"},"precondition":{"$ref":"#/$defs/elaboration_member"},"state":{"$ref":"#/$defs/elaboration_contractState"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"validators":{"items":{"$ref":"#/$defs/elaboration_contractValidator"},"type":"array"}},"required":["input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"descriptor":{"$ref":"#/$defs/elaboration_descriptor"},"executable":{"type":"boolean"},"input":{"$ref":"#/$defs/elaboration_modelBinder"},"kind":{"const":"realization"},"name":{"$ref":"#/$defs/elaboration_name"},"output":{"$ref":"#/$defs/elaboration_type"},"state":{"$ref":"#/$defs/elaboration_realizationState"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["descriptor","input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/elaboration_claim"},"minItems":1,"type":"array"},"contract":{"$ref":"#/$defs/elaboration_modelUse"},"kind":{"const":"evidence"},"name":{"$ref":"#/$defs/elaboration_name"},"realization":{"$ref":"#/$defs/elaboration_modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["claims","contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"contract":{"$ref":"#/$defs/elaboration_modelUse"},"entry":{"items":{"$ref":"#/$defs/elaboration_member"},"type":"array"},"evidence":{"items":{"$ref":"#/$defs/elaboration_modelUse"},"type":"array"},"kind":{"const":"model"},"name":{"$ref":"#/$defs/elaboration_name"},"realization":{"$ref":"#/$defs/elaboration_modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"invariant":{"$ref":"#/$defs/elaboration_logicInvariant"},"kind":{"const":"logic"},"name":{"$ref":"#/$defs/elaboration_name"},"ranking":{"$ref":"#/$defs/elaboration_member"},"relation":{"$ref":"#/$defs/elaboration_member"},"state":{"$ref":"#/$defs/elaboration_contractState"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["kind","name","relation","state"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"binding":{"$ref":"#/$defs/elaboration_ruleBinding"},"conclusion":{"$ref":"#/$defs/elaboration_term"},"executable":{"type":"boolean"},"guard":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"inference_rule"},"logic":{"$ref":"#/$defs/elaboration_modelUse"},"name":{"$ref":"#/$defs/elaboration_name"},"progress":{"$ref":"#/$defs/elaboration_member"},"soundness":{"$ref":"#/$defs/elaboration_member"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["conclusion","guard","kind","logic","name","soundness"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"candidate":{"$ref":"#/$defs/elaboration_modelBinder"},"check":{"$ref":"#/$defs/elaboration_member"},"complete":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"verifier"},"name":{"$ref":"#/$defs/elaboration_name"},"sound":{"$ref":"#/$defs/elaboration_member"},"specification":{"$ref":"#/$defs/elaboration_member"},"subject":{"$ref":"#/$defs/elaboration_modelBinder"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true}},"required":["candidate","check","kind","name","sound","specification","subject"],"type":"object"},{"additionalProperties":false,"properties":{"answer":{"$ref":"#/$defs/elaboration_reasoningAnswer"},"axioms":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/elaboration_reasoningClaim"},"type":"array"},"executable":{"type":"boolean"},"kind":{"const":"reasoner"},"logic":{"$ref":"#/$defs/elaboration_modelUse"},"name":{"$ref":"#/$defs/elaboration_name"},"observation":{"$ref":"#/$defs/elaboration_modelBinder"},"observe":{"$ref":"#/$defs/elaboration_term"},"rules":{"items":{"$ref":"#/$defs/elaboration_modelUse"},"type":"array"},"strategy":{"$ref":"#/$defs/elaboration_reasoningStrategy"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"verifier":{"$ref":"#/$defs/elaboration_modelUse"}},"required":["kind","name","observation","rules","strategy","verifier"],"type":"object"}]},"elaboration_descriptor":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"deterministic"}},"required":["body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"default":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"rule"},"rules":{"items":{"$ref":"#/$defs/elaboration_realizationRule"},"minItems":1,"type":"array"}},"required":["default","kind","rules"],"type":"object"},{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/elaboration_member"},"features":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"statistical"},"labels":{"items":{"$ref":"#/$defs/elaboration_term"},"minItems":1,"type":"array"},"scheme":{"const":"linear_scoring"},"weights":{"$ref":"#/$defs/elaboration_member"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/elaboration_member"}},"required":["bias","features","kind","labels","scheme","weights","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"architecture":{"const":"integer_feedforward"},"decoder":{"$ref":"#/$defs/elaboration_neuralDecoder"},"encoder":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"neural"},"layers":{"items":{"$ref":"#/$defs/elaboration_neuralLayer"},"minItems":1,"type":"array"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/elaboration_member"}},"required":["architecture","decoder","encoder","kind","layers","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"form":{"$ref":"#/$defs/elaboration_compositeForm"},"kind":{"const":"composite"}},"required":["form","kind"],"type":"object"}]},"elaboration_field":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["name","type"],"type":"object"},"elaboration_logicInvariant":{"additionalProperties":false,"properties":{"predicate":{"$ref":"#/$defs/elaboration_member"},"preserves":{"$ref":"#/$defs/elaboration_member"}},"required":["predicate","preserves"],"type":"object"},"elaboration_member":{"additionalProperties":false,"properties":{"module":{"$ref":"#/$defs/elaboration_name"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["name"],"type":"object"},"elaboration_modelBinder":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["name","type"],"type":"object"},"elaboration_modelUse":{"additionalProperties":false,"properties":{"member":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["member"],"type":"object"},"elaboration_name":{"description":"A name inside an elaboration. Besides every source spelling it admits the reserved spelling with two leading underscores, which only generated binders use; linking rejects it in every source module, and the source semantic_name excludes it.","pattern":"^(__)?[A-Za-z][A-Za-z0-9_]*(\\.(__)?[A-Za-z][A-Za-z0-9_]*)*$","type":"string"},"elaboration_neuralDecoder":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"argmax"},"labels":{"items":{"$ref":"#/$defs/elaboration_term"},"minItems":1,"type":"array"}},"required":["kind","labels"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/elaboration_name"},"body":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"function"}},"required":["binder","body","kind"],"type":"object"}]},"elaboration_neuralLayer":{"oneOf":[{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/elaboration_member"},"inputs":{"minimum":1,"type":"integer"},"kind":{"const":"dense"},"outputs":{"minimum":1,"type":"integer"},"weights":{"$ref":"#/$defs/elaboration_member"}},"required":["bias","inputs","kind","outputs","weights"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"relu"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"requantize"},"maximum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"minimum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"shift":{"maximum":4096,"minimum":0,"type":"integer"}},"required":["kind","maximum","minimum","shift"],"type":"object"}]},"elaboration_parameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["name","type"],"type":"object"},"elaboration_production":{"additionalProperties":false,"properties":{"effects":{"items":{"enum":["allocation","overflow","recursion"]},"type":"array","uniqueItems":true},"targets":{"items":{"enum":["rust-core","rust-std"]},"minItems":1,"type":"array","uniqueItems":true}},"required":["effects","targets"],"type":"object"},"elaboration_proof":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"reflexivity"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"decide"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/elaboration_member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"simplify"}},"required":["definitions","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/elaboration_proof"},"minItems":1,"type":"array"},"kind":{"const":"constructor"}},"required":["branches","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/elaboration_proofBranch"},"minItems":1,"type":"array"},"kind":{"const":"cases"},"scrutinee":{"$ref":"#/$defs/elaboration_name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/elaboration_proofBranch"},"minItems":1,"type":"array"},"generalizing":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"kind":{"const":"induction"},"scrutinee":{"$ref":"#/$defs/elaboration_name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"congruence"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"boolean_reflection"},"reflection":{"$ref":"#/$defs/elaboration_reflection"}},"required":["kind","reflection"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"kind":{"const":"law"},"name":{"$ref":"#/$defs/elaboration_name"},"premises":{"items":{"$ref":"#/$defs/elaboration_member"},"type":"array"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"kind":{"const":"apply"},"theorem":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/elaboration_member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"linear_arithmetic"}},"required":["kind"],"type":"object"}]},"elaboration_proofBranch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"constructor":{"$ref":"#/$defs/elaboration_name"},"proof":{"$ref":"#/$defs/elaboration_proof"}},"required":["binders","constructor","proof"],"type":"object"},"elaboration_realizationRule":{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/elaboration_term"},"guard":{"$ref":"#/$defs/elaboration_term"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["action","guard","name"],"type":"object"},"elaboration_realizationState":{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/elaboration_term"},"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["initial","name","type"],"type":"object"},"elaboration_reasoningAnswer":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["name","type","value"],"type":"object"},"elaboration_reasoningClaim":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"answer_correct"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"observation_invariant"},"predicate":{"$ref":"#/$defs/elaboration_member"},"preserved":{"$ref":"#/$defs/elaboration_member"}},"required":["initial","kind","predicate","preserved"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"terminates"},"theorem":{"$ref":"#/$defs/elaboration_member"}},"required":["kind","theorem"],"type":"object"}]},"elaboration_reasoningStrategy":{"oneOf":[{"additionalProperties":false,"properties":{"fuel":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"forward"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"budget":{"$ref":"#/$defs/elaboration_term"},"generator":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"generate_and_verify"}},"required":["generator","kind"],"type":"object"},{"additionalProperties":false,"properties":{"deduplicate":{"type":"boolean"},"frontier":{"$ref":"#/$defs/elaboration_term"},"fuel":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"search"},"order":{"enum":["breadth_first","depth_first"]}},"required":["kind","order"],"type":"object"}]},"elaboration_reflection":{"oneOf":[{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/elaboration_member"},"comparison":{"$ref":"#/$defs/elaboration_reflectionComparison"},"kind":{"const":"list"},"parameter":{"$ref":"#/$defs/elaboration_name"},"proposition_definition":{"$ref":"#/$defs/elaboration_member"},"values":{"$ref":"#/$defs/elaboration_name"}},"required":["boolean_definition","comparison","kind","parameter","proposition_definition","values"],"type":"object"},{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/elaboration_member"},"fields":{"items":{"$ref":"#/$defs/elaboration_reflectionField"},"minItems":1,"type":"array"},"kind":{"const":"record"},"proposition_definition":{"$ref":"#/$defs/elaboration_member"},"record":{"$ref":"#/$defs/elaboration_name"}},"required":["boolean_definition","fields","kind","proposition_definition","record"],"type":"object"}]},"elaboration_reflectionComparison":{"enum":["nat_beq","nat_blt"]},"elaboration_reflectionField":{"additionalProperties":false,"properties":{"expected":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]},"field":{"$ref":"#/$defs/elaboration_name"}},"required":["expected","field"],"type":"object"},"elaboration_ruleBinding":{"additionalProperties":false,"properties":{"candidates":{"$ref":"#/$defs/elaboration_term"},"name":{"$ref":"#/$defs/elaboration_name"},"type":{"$ref":"#/$defs/elaboration_type"}},"required":["candidates","name","type"],"type":"object"},"elaboration_term":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"var"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"nat"},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bool"},"value":{"type":"boolean"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["int","int8","int16","int32","int64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["uint8","uint16","uint32","uint64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"string"},"value":{"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"hex":{"pattern":"^([0-9a-f]{2})*$","type":"string"},"kind":{"const":"bytes"}},"required":["hex","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"kind":{"const":"primitive"},"operation":{"enum":["append","bit_and","bit_not","bit_or","bit_xor","checked_add","checked_convert","checked_multiply","checked_negate","checked_quotient","checked_subtract","compare_bytes","equal","format_decimal","graph_reachable","graph_successors","graph_topological","index","iterate","iterate_until","join","length","less_than","list_fold","map_contains","map_entries","map_fold","map_insert","map_keys","map_lookup","map_remove","map_size","map_values","multiply","negate","parse_decimal","quotient","remainder","set_contains","set_difference","set_elements","set_fold","set_insert","set_intersection","set_remove","set_size","set_union","shift_left","shift_right","slice","split_exact","subtract","utf8_decode","utf8_encode"]},"result":{"$ref":"#/$defs/elaboration_type"}},"required":["arguments","kind","operation","result"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"unit"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"nil"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"head":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"cons"},"tail":{"$ref":"#/$defs/elaboration_term"}},"required":["head","kind","tail"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/elaboration_assignment"},"type":"array"},"kind":{"const":"record"},"type":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["fields","kind","type"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"constructor":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"constructor"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","constructor","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"},"class":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"instance_value"},"resolved":{"$ref":"#/$defs/elaboration_member"}},"required":["arguments","class","kind","resolved"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/elaboration_name"},"kind":{"const":"project"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["field","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"function":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"call"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"condition":{"$ref":"#/$defs/elaboration_term"},"else_value":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"if"},"then_value":{"$ref":"#/$defs/elaboration_term"}},"required":["condition","else_value","kind","then_value"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/elaboration_branch"},"minItems":1,"type":"array"},"kind":{"const":"match"},"scrutinee":{"$ref":"#/$defs/elaboration_term"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"eq"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"le"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"lt"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"add"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"beq"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"ble"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"blt"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"and"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"or"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"iff"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"conclusion":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"implies"},"premise":{"$ref":"#/$defs/elaboration_term"}},"required":["conclusion","kind","premise"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"not"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/elaboration_parameter"},"body":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"forall"}},"required":["binder","body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prop_and"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/elaboration_parameter"},"body":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"let"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["binder","body","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"pair"},"left":{"$ref":"#/$defs/elaboration_term"},"right":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"first"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"second"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/elaboration_term"},"captures":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array","uniqueItems":true},"kind":{"const":"lambda"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"minItems":1,"type":"array"}},"required":["body","captures","kind","parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"minItems":1,"type":"array"},"function":{"$ref":"#/$defs/elaboration_term"},"kind":{"const":"apply"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"function":{"$ref":"#/$defs/elaboration_member"},"kind":{"const":"function_ref"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"entries":{"items":{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/elaboration_term"},"value":{"$ref":"#/$defs/elaboration_term"}},"required":["key","value"],"type":"object"},"type":"array"},"key":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"map_literal"},"value":{"$ref":"#/$defs/elaboration_type"}},"required":["entries","key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/elaboration_type"},"elements":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"kind":{"const":"set_literal"}},"required":["element","elements","kind"],"type":"object"},{"additionalProperties":false,"properties":{"edges":{"items":{"additionalProperties":false,"properties":{"source":{"$ref":"#/$defs/elaboration_term"},"target":{"$ref":"#/$defs/elaboration_term"}},"required":["source","target"],"type":"object"},"type":"array"},"kind":{"const":"graph_literal"},"node":{"$ref":"#/$defs/elaboration_type"},"nodes":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"}},"required":["edges","kind","node","nodes"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"checks":{"items":{"enum":["input_invariant","output_invariant","postcondition","precondition"]},"type":"array","uniqueItems":true},"kind":{"const":"checked_apply"},"model":{"$ref":"#/$defs/elaboration_member"},"type_arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"}},"required":["arguments","checks","kind","model"],"type":"object"}]},"elaboration_type":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"enum":["bool","bytes","int","int8","int16","int32","int64","nat","ordering","prop","string","type","uint8","uint16","uint32","uint64","unit"]}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"parameter"},"name":{"$ref":"#/$defs/elaboration_name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"list"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_type"},"type":"array"},"kind":{"const":"named"},"member":{"$ref":"#/$defs/elaboration_member"}},"required":["arguments","kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"option"},"value":{"$ref":"#/$defs/elaboration_type"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"result"},"ok":{"$ref":"#/$defs/elaboration_type"}},"required":["error","kind","ok"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/elaboration_type"},"right":{"$ref":"#/$defs/elaboration_type"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"function"},"parameters":{"items":{"$ref":"#/$defs/elaboration_type"},"minItems":1,"type":"array"},"result":{"$ref":"#/$defs/elaboration_type"}},"required":["kind","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"map"},"value":{"$ref":"#/$defs/elaboration_type"}},"required":["key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/elaboration_type"},"kind":{"const":"set"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"contract_violation"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"reasoning_failure"}},"required":["kind"],"type":"object"}]},"formula":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"term"},"term":{"$ref":"#/$defs/elaboration_term"}},"required":["kind","term"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/elaboration_term"},"type":"array"},"helper":{"enum":["all","complete","preserves","reaches","search_ok","sound","star"]},"kind":{"const":"helper"}},"required":["arguments","helper","kind"],"type":"object"},{"additionalProperties":false,"properties":{"conclusion":{"$ref":"#/$defs/formula"},"kind":{"const":"implies"},"premise":{"$ref":"#/$defs/formula"}},"required":["conclusion","kind","premise"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"true"}},"required":["kind"],"type":"object"}]},"generatedTheorem":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"statement":{"$ref":"#/$defs/formula"},"template":{"enum":["accept_sound","conclude_accept","conclude_sound","explained_forward","explained_generate","explained_search","extend","fire_cases","next_progress","next_sound","replay_fire","replay_sound","run_invariant","search_count","search_growth","search_peak","search_step","step_count","step_none","step_some","step_trace","successors_bound","successors_free","term","try_count","try_sound","unfold","verdict_forward","verdict_generate","verdict_search","verify_sound"]},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array"}},"required":["name","parameters","statement","template","type_parameters"],"type":"object"},"module":{"additionalProperties":false,"properties":{"core":{"$ref":"#/$defs/semanticValue"},"declarations":{"items":{"$ref":"#/$defs/declaration"},"type":"array"},"glossary":{"items":{"type":"string"},"type":"array"},"imports":{"items":{"type":"string"},"type":"array"},"lean_module":{"minLength":1,"type":"string"},"linked_ir":{"$ref":"#/$defs/semanticValue"},"name":{"minLength":1,"type":"string"},"semantic":{"$ref":"#/$defs/semanticModule"},"source":{"$ref":"#/$defs/source"},"visible_packages":{"items":{"type":"string"},"type":"array"}},"required":["declarations","glossary","imports","lean_module","linked_ir","name","source","visible_packages"],"type":"object"},"obligation":{"additionalProperties":false,"properties":{"parameters":{"items":{"$ref":"#/$defs/elaboration_parameter"},"type":"array"},"role":{"minLength":1,"type":"string"},"statement":{"$ref":"#/$defs/elaboration_term"},"theorem":{"$ref":"#/$defs/elaboration_member"},"type_parameters":{"items":{"$ref":"#/$defs/elaboration_name"},"type":"array"}},"required":["parameters","role","statement","theorem","type_parameters"],"type":"object"},"origin":{"additionalProperties":false,"properties":{"proof":{"$ref":"#/$defs/range"},"proof_steps":{"items":{"$ref":"#/$defs/range"},"type":"array"},"sentence":{"$ref":"#/$defs/range"},"whole":{"$ref":"#/$defs/range"}},"required":["proof_steps","sentence","whole"],"type":"object"},"range":{"additionalProperties":false,"properties":{"end":{"minimum":0,"type":"integer"},"start":{"minimum":0,"type":"integer"}},"required":["end","start"],"type":"object"},"semanticModule":{"additionalProperties":false,"properties":{"declarations":{"items":{"$ref":"#/$defs/semantic_declaration"},"minItems":1,"type":"array"},"spec":{"const":"lexlean/semantic-module/2"}},"required":["declarations","spec"],"type":"object"},"semanticValue":{"oneOf":[{"type":"boolean"},{"type":"integer"},{"type":"string"},{"items":{"$ref":"#/$defs/semanticValue"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/semanticValue"},"type":"object"}]},"semantic_artifactSchema":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"bytes"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"enum":["int16","int32","int64","int8","uint16","uint32","uint64","uint8"]},"kind":{"const":"int_tensor"},"shape":{"items":{"minimum":1,"type":"integer"},"minItems":1,"type":"array"}},"required":["element","kind","shape"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"utf8_lines"}},"required":["kind"],"type":"object"}]},"semantic_assignment":{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/semantic_name"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["field","value"],"type":"object"},"semantic_branch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/semantic_term"},"constructor":{"$ref":"#/$defs/semantic_member"}},"required":["binders","body","constructor"],"type":"object"},"semantic_claim":{"oneOf":[{"additionalProperties":false,"properties":{"agreements":{"minimum":0,"type":"integer"},"comparison":{"$ref":"#/$defs/semantic_member"},"comparison_sound":{"$ref":"#/$defs/semantic_member"},"dataset":{"$ref":"#/$defs/semantic_member"},"examples":{"minimum":0,"type":"integer"},"kind":{"const":"dataset_agreement"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["agreements","comparison","comparison_sound","dataset","examples","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"equivalent_to"},"reference":{"$ref":"#/$defs/semantic_modelUse"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","reference","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"preserves_invariant"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"satisfies_contract"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"}]},"semantic_compositeForm":{"oneOf":[{"additionalProperties":false,"properties":{"junctions":{"items":{"$ref":"#/$defs/semantic_compositeJunction"},"minItems":1,"type":"array"},"kind":{"const":"sequence"},"stages":{"items":{"$ref":"#/$defs/semantic_modelUse"},"minItems":2,"type":"array"}},"required":["junctions","kind","stages"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"fanout"},"left":{"$ref":"#/$defs/semantic_modelUse"},"right":{"$ref":"#/$defs/semantic_modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/semantic_modelUse"},"right":{"$ref":"#/$defs/semantic_modelUse"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"else":{"$ref":"#/$defs/semantic_modelUse"},"guard":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"branch"},"then":{"$ref":"#/$defs/semantic_modelUse"}},"required":["else","guard","kind","then"],"type":"object"},{"additionalProperties":false,"properties":{"junction":{"$ref":"#/$defs/semantic_compositeJunction"},"kind":{"const":"scan"},"stage":{"$ref":"#/$defs/semantic_modelUse"}},"required":["junction","kind","stage"],"type":"object"}]},"semantic_compositeJunction":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"unconditional"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"evidence":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"proved"}},"required":["evidence","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"checked"}},"required":["kind"],"type":"object"}]},"semantic_constructor":{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["fields","name"],"type":"object"},"semantic_contractState":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"next":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["name","next","type"],"type":"object"},"semantic_contractValidator":{"additionalProperties":false,"properties":{"complete":{"$ref":"#/$defs/semantic_member"},"predicate":{"enum":["invariant","postcondition","precondition"]},"sound":{"$ref":"#/$defs/semantic_member"},"validator":{"$ref":"#/$defs/semantic_member"}},"required":["predicate","sound","validator"],"type":"object"},"semantic_declaration":{"oneOf":[{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/semantic_field"},"minItems":1,"type":"array"},"kind":{"const":"structure"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/semantic_field"},"minItems":1,"type":"array"},"kind":{"const":"class"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["fields","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"},"class":{"$ref":"#/$defs/semantic_member"},"fields":{"items":{"$ref":"#/$defs/semantic_assignment"},"minItems":1,"type":"array"},"kind":{"const":"instance"},"name":{"$ref":"#/$defs/semantic_name"},"priority":{"const":1000}},"required":["arguments","class","fields","kind","name","priority"],"type":"object"},{"additionalProperties":false,"properties":{"constructors":{"items":{"$ref":"#/$defs/semantic_constructor"},"minItems":1,"type":"array"},"kind":{"const":"inductive"},"mutual":{"$ref":"#/$defs/semantic_name"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["constructors","kind","name","parameters","type_parameters"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"body":{"$ref":"#/$defs/semantic_term"},"executable":{"type":"boolean"},"kind":{"const":"definition"},"mutual":{"$ref":"#/$defs/semantic_name"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"production":{"$ref":"#/$defs/semantic_production"},"recursive_argument":{"$ref":"#/$defs/semantic_name"},"result":{"$ref":"#/$defs/semantic_type"},"termination":{"additionalProperties":false,"properties":{"evidence":{"items":{"$ref":"#/$defs/semantic_member"},"minItems":1,"type":"array"},"measure":{"$ref":"#/$defs/semantic_term"}},"required":["evidence","measure"],"type":"object"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["body","kind","name","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"kind":{"const":"theorem"},"name":{"$ref":"#/$defs/semantic_name"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"type":"array"},"proof":{"$ref":"#/$defs/semantic_proof"},"statement":{"$ref":"#/$defs/semantic_term"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["kind","name","parameters","proof","statement"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"kind":{"const":"artifact"},"length":{"minimum":0,"type":"integer"},"name":{"$ref":"#/$defs/semantic_name"},"role":{"enum":["binary","dataset","parameters","table","vocabulary"]},"schema":{"$ref":"#/$defs/semantic_artifactSchema"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["kind","length","name","role","schema","sha256","type"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"input":{"$ref":"#/$defs/semantic_modelBinder"},"invariant":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"contract"},"name":{"$ref":"#/$defs/semantic_name"},"output":{"$ref":"#/$defs/semantic_modelBinder"},"postcondition":{"$ref":"#/$defs/semantic_member"},"precondition":{"$ref":"#/$defs/semantic_member"},"state":{"$ref":"#/$defs/semantic_contractState"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"validators":{"items":{"$ref":"#/$defs/semantic_contractValidator"},"type":"array"}},"required":["input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"descriptor":{"$ref":"#/$defs/semantic_descriptor"},"executable":{"type":"boolean"},"input":{"$ref":"#/$defs/semantic_modelBinder"},"kind":{"const":"realization"},"name":{"$ref":"#/$defs/semantic_name"},"output":{"$ref":"#/$defs/semantic_type"},"state":{"$ref":"#/$defs/semantic_realizationState"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["descriptor","input","kind","name","output"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/semantic_claim"},"minItems":1,"type":"array"},"contract":{"$ref":"#/$defs/semantic_modelUse"},"kind":{"const":"evidence"},"name":{"$ref":"#/$defs/semantic_name"},"realization":{"$ref":"#/$defs/semantic_modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["claims","contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"contract":{"$ref":"#/$defs/semantic_modelUse"},"entry":{"items":{"$ref":"#/$defs/semantic_member"},"type":"array"},"evidence":{"items":{"$ref":"#/$defs/semantic_modelUse"},"type":"array"},"kind":{"const":"model"},"name":{"$ref":"#/$defs/semantic_name"},"realization":{"$ref":"#/$defs/semantic_modelUse"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["contract","kind","name","realization"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"invariant":{"$ref":"#/$defs/semantic_logicInvariant"},"kind":{"const":"logic"},"name":{"$ref":"#/$defs/semantic_name"},"ranking":{"$ref":"#/$defs/semantic_member"},"relation":{"$ref":"#/$defs/semantic_member"},"state":{"$ref":"#/$defs/semantic_contractState"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["kind","name","relation","state"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"binding":{"$ref":"#/$defs/semantic_ruleBinding"},"conclusion":{"$ref":"#/$defs/semantic_term"},"executable":{"type":"boolean"},"guard":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"inference_rule"},"logic":{"$ref":"#/$defs/semantic_modelUse"},"name":{"$ref":"#/$defs/semantic_name"},"progress":{"$ref":"#/$defs/semantic_member"},"soundness":{"$ref":"#/$defs/semantic_member"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["conclusion","guard","kind","logic","name","soundness"],"type":"object"},{"additionalProperties":false,"properties":{"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"candidate":{"$ref":"#/$defs/semantic_modelBinder"},"check":{"$ref":"#/$defs/semantic_member"},"complete":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"verifier"},"name":{"$ref":"#/$defs/semantic_name"},"sound":{"$ref":"#/$defs/semantic_member"},"specification":{"$ref":"#/$defs/semantic_member"},"subject":{"$ref":"#/$defs/semantic_modelBinder"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true}},"required":["candidate","check","kind","name","sound","specification","subject"],"type":"object"},{"additionalProperties":false,"properties":{"answer":{"$ref":"#/$defs/semantic_reasoningAnswer"},"axioms":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"claims":{"items":{"$ref":"#/$defs/semantic_reasoningClaim"},"type":"array"},"executable":{"type":"boolean"},"kind":{"const":"reasoner"},"logic":{"$ref":"#/$defs/semantic_modelUse"},"name":{"$ref":"#/$defs/semantic_name"},"observation":{"$ref":"#/$defs/semantic_modelBinder"},"observe":{"$ref":"#/$defs/semantic_term"},"rules":{"items":{"$ref":"#/$defs/semantic_modelUse"},"type":"array"},"strategy":{"$ref":"#/$defs/semantic_reasoningStrategy"},"type_parameters":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"verifier":{"$ref":"#/$defs/semantic_modelUse"}},"required":["kind","name","observation","rules","strategy","verifier"],"type":"object"}]},"semantic_descriptor":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"deterministic"}},"required":["body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"default":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"rule"},"rules":{"items":{"$ref":"#/$defs/semantic_realizationRule"},"minItems":1,"type":"array"}},"required":["default","kind","rules"],"type":"object"},{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/semantic_member"},"features":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"statistical"},"labels":{"items":{"$ref":"#/$defs/semantic_term"},"minItems":1,"type":"array"},"scheme":{"const":"linear_scoring"},"weights":{"$ref":"#/$defs/semantic_member"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/semantic_member"}},"required":["bias","features","kind","labels","scheme","weights","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"architecture":{"const":"integer_feedforward"},"decoder":{"$ref":"#/$defs/semantic_neuralDecoder"},"encoder":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"neural"},"layers":{"items":{"$ref":"#/$defs/semantic_neuralLayer"},"minItems":1,"type":"array"},"width":{"minimum":1,"type":"integer"},"width_evidence":{"$ref":"#/$defs/semantic_member"}},"required":["architecture","decoder","encoder","kind","layers","width","width_evidence"],"type":"object"},{"additionalProperties":false,"properties":{"form":{"$ref":"#/$defs/semantic_compositeForm"},"kind":{"const":"composite"}},"required":["form","kind"],"type":"object"}]},"semantic_field":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["name","type"],"type":"object"},"semantic_logicInvariant":{"additionalProperties":false,"properties":{"predicate":{"$ref":"#/$defs/semantic_member"},"preserves":{"$ref":"#/$defs/semantic_member"}},"required":["predicate","preserves"],"type":"object"},"semantic_member":{"additionalProperties":false,"properties":{"module":{"$ref":"#/$defs/semantic_name"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["name"],"type":"object"},"semantic_modelBinder":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["name","type"],"type":"object"},"semantic_modelUse":{"additionalProperties":false,"properties":{"member":{"$ref":"#/$defs/semantic_member"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["member"],"type":"object"},"semantic_name":{"pattern":"^[A-Za-z][A-Za-z0-9_]*(\\.[A-Za-z][A-Za-z0-9_]*)*$","type":"string"},"semantic_neuralDecoder":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"argmax"},"labels":{"items":{"$ref":"#/$defs/semantic_term"},"minItems":1,"type":"array"}},"required":["kind","labels"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/semantic_name"},"body":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"function"}},"required":["binder","body","kind"],"type":"object"}]},"semantic_neuralLayer":{"oneOf":[{"additionalProperties":false,"properties":{"bias":{"$ref":"#/$defs/semantic_member"},"inputs":{"minimum":1,"type":"integer"},"kind":{"const":"dense"},"outputs":{"minimum":1,"type":"integer"},"weights":{"$ref":"#/$defs/semantic_member"}},"required":["bias","inputs","kind","outputs","weights"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"relu"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"requantize"},"maximum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"minimum":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]},"shift":{"maximum":4096,"minimum":0,"type":"integer"}},"required":["kind","maximum","minimum","shift"],"type":"object"}]},"semantic_parameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["name","type"],"type":"object"},"semantic_production":{"additionalProperties":false,"properties":{"effects":{"items":{"enum":["allocation","overflow","recursion"]},"type":"array","uniqueItems":true},"targets":{"items":{"enum":["rust-core","rust-std"]},"minItems":1,"type":"array","uniqueItems":true}},"required":["effects","targets"],"type":"object"},"semantic_proof":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"reflexivity"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"decide"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/semantic_member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"simplify"}},"required":["definitions","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/semantic_proof"},"minItems":1,"type":"array"},"kind":{"const":"constructor"}},"required":["branches","kind"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/semantic_proofBranch"},"minItems":1,"type":"array"},"kind":{"const":"cases"},"scrutinee":{"$ref":"#/$defs/semantic_name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/semantic_proofBranch"},"minItems":1,"type":"array"},"generalizing":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"kind":{"const":"induction"},"scrutinee":{"$ref":"#/$defs/semantic_name"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"congruence"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"boolean_reflection"},"reflection":{"$ref":"#/$defs/semantic_reflection"}},"required":["kind","reflection"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"kind":{"const":"law"},"name":{"$ref":"#/$defs/semantic_name"},"premises":{"items":{"$ref":"#/$defs/semantic_member"},"type":"array"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"kind":{"const":"apply"},"theorem":{"$ref":"#/$defs/semantic_member"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"definitions":{"items":{"$ref":"#/$defs/semantic_member"},"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"linear_arithmetic"}},"required":["kind"],"type":"object"}]},"semantic_proofBranch":{"additionalProperties":false,"properties":{"binders":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"constructor":{"$ref":"#/$defs/semantic_name"},"proof":{"$ref":"#/$defs/semantic_proof"}},"required":["binders","constructor","proof"],"type":"object"},"semantic_realizationRule":{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/semantic_term"},"guard":{"$ref":"#/$defs/semantic_term"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["action","guard","name"],"type":"object"},"semantic_realizationState":{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/semantic_term"},"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["initial","name","type"],"type":"object"},"semantic_reasoningAnswer":{"additionalProperties":false,"properties":{"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["name","type","value"],"type":"object"},"semantic_reasoningClaim":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"answer_correct"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"initial_invariant"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"},{"additionalProperties":false,"properties":{"initial":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"observation_invariant"},"predicate":{"$ref":"#/$defs/semantic_member"},"preserved":{"$ref":"#/$defs/semantic_member"}},"required":["initial","kind","predicate","preserved"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"terminates"},"theorem":{"$ref":"#/$defs/semantic_member"}},"required":["kind","theorem"],"type":"object"}]},"semantic_reasoningStrategy":{"oneOf":[{"additionalProperties":false,"properties":{"fuel":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"forward"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"budget":{"$ref":"#/$defs/semantic_term"},"generator":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"generate_and_verify"}},"required":["generator","kind"],"type":"object"},{"additionalProperties":false,"properties":{"deduplicate":{"type":"boolean"},"frontier":{"$ref":"#/$defs/semantic_term"},"fuel":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"search"},"order":{"enum":["breadth_first","depth_first"]}},"required":["kind","order"],"type":"object"}]},"semantic_reflection":{"oneOf":[{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/semantic_member"},"comparison":{"$ref":"#/$defs/semantic_reflectionComparison"},"kind":{"const":"list"},"parameter":{"$ref":"#/$defs/semantic_name"},"proposition_definition":{"$ref":"#/$defs/semantic_member"},"values":{"$ref":"#/$defs/semantic_name"}},"required":["boolean_definition","comparison","kind","parameter","proposition_definition","values"],"type":"object"},{"additionalProperties":false,"properties":{"boolean_definition":{"$ref":"#/$defs/semantic_member"},"fields":{"items":{"$ref":"#/$defs/semantic_reflectionField"},"minItems":1,"type":"array"},"kind":{"const":"record"},"proposition_definition":{"$ref":"#/$defs/semantic_member"},"record":{"$ref":"#/$defs/semantic_name"}},"required":["boolean_definition","fields","kind","proposition_definition","record"],"type":"object"}]},"semantic_reflectionComparison":{"enum":["nat_beq","nat_blt"]},"semantic_reflectionField":{"additionalProperties":false,"properties":{"expected":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]},"field":{"$ref":"#/$defs/semantic_name"}},"required":["expected","field"],"type":"object"},"semantic_ruleBinding":{"additionalProperties":false,"properties":{"candidates":{"$ref":"#/$defs/semantic_term"},"name":{"$ref":"#/$defs/semantic_name"},"type":{"$ref":"#/$defs/semantic_type"}},"required":["candidates","name","type"],"type":"object"},"semantic_term":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"var"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"nat"},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bool"},"value":{"type":"boolean"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["int","int8","int16","int32","int64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"},{"pattern":"^-[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"integer"},"representation":{"enum":["uint8","uint16","uint32","uint64"]},"value":{"oneOf":[{"const":"0"},{"pattern":"^[1-9][0-9]*$","type":"string"}]}},"required":["kind","representation","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"string"},"value":{"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"hex":{"pattern":"^([0-9a-f]{2})*$","type":"string"},"kind":{"const":"bytes"}},"required":["hex","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"kind":{"const":"primitive"},"operation":{"enum":["append","bit_and","bit_not","bit_or","bit_xor","checked_add","checked_convert","checked_multiply","checked_negate","checked_quotient","checked_subtract","compare_bytes","equal","format_decimal","graph_reachable","graph_successors","graph_topological","index","iterate","iterate_until","join","length","less_than","list_fold","map_contains","map_entries","map_fold","map_insert","map_keys","map_lookup","map_remove","map_size","map_values","multiply","negate","parse_decimal","quotient","remainder","set_contains","set_difference","set_elements","set_fold","set_insert","set_intersection","set_remove","set_size","set_union","shift_left","shift_right","slice","split_exact","subtract","utf8_decode","utf8_encode"]},"result":{"$ref":"#/$defs/semantic_type"}},"required":["arguments","kind","operation","result"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"unit"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"nil"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"head":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"cons"},"tail":{"$ref":"#/$defs/semantic_term"}},"required":["head","kind","tail"],"type":"object"},{"additionalProperties":false,"properties":{"fields":{"items":{"$ref":"#/$defs/semantic_assignment"},"type":"array"},"kind":{"const":"record"},"type":{"$ref":"#/$defs/semantic_member"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["fields","kind","type"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"constructor":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"constructor"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","constructor","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"},"class":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"instance_value"},"resolved":{"$ref":"#/$defs/semantic_member"}},"required":["arguments","class","kind","resolved"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"$ref":"#/$defs/semantic_name"},"kind":{"const":"project"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["field","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"function":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"call"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"condition":{"$ref":"#/$defs/semantic_term"},"else_value":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"if"},"then_value":{"$ref":"#/$defs/semantic_term"}},"required":["condition","else_value","kind","then_value"],"type":"object"},{"additionalProperties":false,"properties":{"branches":{"items":{"$ref":"#/$defs/semantic_branch"},"minItems":1,"type":"array"},"kind":{"const":"match"},"scrutinee":{"$ref":"#/$defs/semantic_term"}},"required":["branches","kind","scrutinee"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"eq"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"le"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"lt"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"add"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"beq"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"ble"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"blt"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"and"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"or"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"iff"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"conclusion":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"implies"},"premise":{"$ref":"#/$defs/semantic_term"}},"required":["conclusion","kind","premise"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"not"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/semantic_parameter"},"body":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"forall"}},"required":["binder","body","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prop_and"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"binder":{"$ref":"#/$defs/semantic_parameter"},"body":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"let"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["binder","body","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"pair"},"left":{"$ref":"#/$defs/semantic_term"},"right":{"$ref":"#/$defs/semantic_term"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"first"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"second"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"$ref":"#/$defs/semantic_term"},"captures":{"items":{"$ref":"#/$defs/semantic_name"},"type":"array","uniqueItems":true},"kind":{"const":"lambda"},"parameters":{"items":{"$ref":"#/$defs/semantic_parameter"},"minItems":1,"type":"array"}},"required":["body","captures","kind","parameters"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"minItems":1,"type":"array"},"function":{"$ref":"#/$defs/semantic_term"},"kind":{"const":"apply"}},"required":["arguments","function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"function":{"$ref":"#/$defs/semantic_member"},"kind":{"const":"function_ref"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["function","kind"],"type":"object"},{"additionalProperties":false,"properties":{"entries":{"items":{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/semantic_term"},"value":{"$ref":"#/$defs/semantic_term"}},"required":["key","value"],"type":"object"},"type":"array"},"key":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"map_literal"},"value":{"$ref":"#/$defs/semantic_type"}},"required":["entries","key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/semantic_type"},"elements":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"kind":{"const":"set_literal"}},"required":["element","elements","kind"],"type":"object"},{"additionalProperties":false,"properties":{"edges":{"items":{"additionalProperties":false,"properties":{"source":{"$ref":"#/$defs/semantic_term"},"target":{"$ref":"#/$defs/semantic_term"}},"required":["source","target"],"type":"object"},"type":"array"},"kind":{"const":"graph_literal"},"node":{"$ref":"#/$defs/semantic_type"},"nodes":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"}},"required":["edges","kind","node","nodes"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_term"},"type":"array"},"checks":{"items":{"enum":["input_invariant","output_invariant","postcondition","precondition"]},"type":"array","uniqueItems":true},"kind":{"const":"checked_apply"},"model":{"$ref":"#/$defs/semantic_member"},"type_arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"}},"required":["arguments","checks","kind","model"],"type":"object"}]},"semantic_type":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"enum":["bool","bytes","int","int8","int16","int32","int64","nat","ordering","prop","string","type","uint8","uint16","uint32","uint64","unit"]}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"parameter"},"name":{"$ref":"#/$defs/semantic_name"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"list"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/semantic_type"},"type":"array"},"kind":{"const":"named"},"member":{"$ref":"#/$defs/semantic_member"}},"required":["arguments","kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"option"},"value":{"$ref":"#/$defs/semantic_type"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"result"},"ok":{"$ref":"#/$defs/semantic_type"}},"required":["error","kind","ok"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"product"},"left":{"$ref":"#/$defs/semantic_type"},"right":{"$ref":"#/$defs/semantic_type"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"function"},"parameters":{"items":{"$ref":"#/$defs/semantic_type"},"minItems":1,"type":"array"},"result":{"$ref":"#/$defs/semantic_type"}},"required":["kind","parameters","result"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"map"},"value":{"$ref":"#/$defs/semantic_type"}},"required":["key","kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"element":{"$ref":"#/$defs/semantic_type"},"kind":{"const":"set"}},"required":["element","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"contract_violation"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"reasoning_failure"}},"required":["kind"],"type":"object"}]},"source":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"$ref":"#/$defs/digest"}},"required":["path","sha256"],"type":"object"}},"$id":"https://github.com/afflom/lexlean/schemas/semantic-snapshot-v2.schema.json","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"compiler_semantics_id":{"$ref":"#/$defs/digest"},"language":{"const":"1.2"},"lexicon_closure":{"$ref":"#/$defs/semanticValue"},"modules":{"items":{"$ref":"#/$defs/module"},"type":"array"},"semantic_id":{"$ref":"#/$defs/digest"},"source_id":{"$ref":"#/$defs/digest"},"spec":{"const":"lexlean/semantic-snapshot/2"}},"required":["compiler_semantics_id","language","lexicon_closure","modules","semantic_id","source_id","spec"],"title":"LexLean language-1.2 semantic snapshot","type":"object"} diff --git a/tests/negative/application-arity/project/lexlean.lock b/tests/negative/application-arity/project/lexlean.lock index cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 88a5177b2..a2fbf97bd 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 33be25855..0f6db1ec9 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.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} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7015","help":[],"labels":[],"message":"certificate B: `LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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 39bc2de72..b258297b1 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.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"}] +[{"causes":[],"code":"LLV7015","help":[],"labels":[],"message":"certificate B: `LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 b85f590ed..359663352 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.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} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7016","help":[],"labels":[],"message":"certificate E: `LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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 4966ad5b4..f0d42961c 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.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"}] +[{"causes":[],"code":"LLV7016","help":[],"labels":[],"message":"certificate E: `LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 01b2dca02..73ecb38f4 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.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} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C3550576cdc39389795fb3001307978d9.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/C3550576cdc39389795fb3001307978d9/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/C3550576cdc39389795fb3001307978d9/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 0cab9a928..5539057b8 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.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"}] +[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C3550576cdc39389795fb3001307978d9.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/C3550576cdc39389795fb3001307978d9/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/C3550576cdc39389795fb3001307978d9/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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 4ffe4f1b3..457a76c17 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.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} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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 05e855c73..a059c63a5 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.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"}] +[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C3950237c975b30f5dd9298b8e09919c9.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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 c1c890cf4..726a6880c 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.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} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLS8002","help":[],"labels":[],"message":"the pinned Lean exhausted a resource checking `LexLeanPreserve.C3550576cdc39389795fb3001307978d9.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 15419442a..cd15136ef 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.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"}] +[{"causes":[],"code":"LLS8002","help":[],"labels":[],"message":"the pinned Lean exhausted a resource checking `LexLeanPreserve.C3550576cdc39389795fb3001307978d9.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 5364eb3ec..42cdc8e6a 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 0aa57436c..5a0f4f411 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 70450490a..d1dced74e 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 abd343646..f4ae0eef4 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 abd343646..f4ae0eef4 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 4a9fc9f31..46e9959df 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 518d685e3..d2db5c82b 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 6e1e4e3e1..5e6299908 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 518d685e3..d2db5c82b 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 518d685e3..d2db5c82b 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 2ffd79d0f..895a15ad6 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 6e96b0953..f34f4b459 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 518d685e3..d2db5c82b 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 518d685e3..d2db5c82b 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 c90035392..ea5d950f9 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 518d685e3..d2db5c82b 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 c90035392..ea5d950f9 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 65cfc623c..53003bd4d 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: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} +{"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:35: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 f416a35a0..3af3c49d7 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: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"}] +[{"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:35: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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 518d685e3..d2db5c82b 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 93f7a0796..99bf26d72 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 e72c8947d..b90ce30bc 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 902c1f77a..2ce4fa6ae 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 ce754bf1b..c727a10b3 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 ba4b0b6fc..467bbf4d5 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 78ac5447a..586aa4a0e 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 1eb641822..4e3427f5e 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: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} +{"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:131: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 8e7732b91..0b7ec2973 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: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"}] +[{"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:131: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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 f1cc66b05..bbe845bb2 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: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} +{"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:131: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 aee68c6ca..ede36d441 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: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"}] +[{"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:131: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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 85b134b48..33e8b5199 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: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} +{"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:149: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 ad060444b..820650fc8 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: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"}] +[{"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:149: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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 c49079294..92d88f7f7 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: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} +{"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:348: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 eee2b0351..d88121374 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: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"}] +[{"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:348: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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 c380f92e3..190677e78 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: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} +{"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:94: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 3371b23cf..a44710980 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: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"}] +[{"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:94: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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 0ec985914..b2a624be6 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: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} +{"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:123: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 a07df532d..54951602b 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: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"}] +[{"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:123: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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 9c18efe7d..2133464fd 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: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} +{"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:41: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:49: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 a2c312220..dad311184 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: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"}] +[{"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:41: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:49: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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 b84ddc4c2..8f2f2f384 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: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} +{"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:49: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 7cf8b9ef0..581426ea5 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: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"}] +[{"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:49: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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 06b87b1c8..0005227c2 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-false-evidence/expected/command.json b/tests/negative/recursion-false-evidence/expected/command.json index a39c78c56..a5284206b 100644 --- a/tests/negative/recursion-false-evidence/expected/command.json +++ b/tests/negative/recursion-false-evidence/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 2\nwhere\n a := ↑number","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:12:12"}],"primary":{"byte_end":301,"byte_start":113,"column_end":2,"column_start":1,"line_end":11,"line_start":5,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): failed to set reducibility status, `stall` is not a definition\nNote: Use `set_option allowUnsafeReducibility true` to override reducibility status validation","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:14:10"}],"primary":{"byte_end":526,"byte_start":303,"column_end":2,"column_start":1,"line_end":20,"line_start":13,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): well-founded recursion cannot be used, `LanguageTwelve.Main.stall` does not take any (non-fixed) arguments","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:14:0"}],"primary":{"byte_end":526,"byte_start":303,"column_end":2,"column_start":1,"line_end":20,"line_start":13,"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 `LanguageTwelve.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 2\nwhere\n a := ↑number","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:15:12"}],"primary":{"byte_end":301,"byte_start":113,"column_end":2,"column_start":1,"line_end":11,"line_start":5,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): failed to set reducibility status, `stall` is not a definition\nNote: Use `set_option allowUnsafeReducibility true` to override reducibility status validation","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:17:10"}],"primary":{"byte_end":526,"byte_start":303,"column_end":2,"column_start":1,"line_end":20,"line_start":13,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): well-founded recursion cannot be used, `LanguageTwelve.Main.stall` does not take any (non-fixed) arguments","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:17:0"}],"primary":{"byte_end":526,"byte_start":303,"column_end":2,"column_start":1,"line_end":20,"line_start":13,"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/recursion-false-evidence/expected/diagnostics.json b/tests/negative/recursion-false-evidence/expected/diagnostics.json index 2c2c1eeab..190eb7b71 100644 --- a/tests/negative/recursion-false-evidence/expected/diagnostics.json +++ b/tests/negative/recursion-false-evidence/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 2\nwhere\n a := ↑number","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:12:12"}],"primary":{"byte_end":301,"byte_start":113,"column_end":2,"column_start":1,"line_end":11,"line_start":5,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): failed to set reducibility status, `stall` is not a definition\nNote: Use `set_option allowUnsafeReducibility true` to override reducibility status validation","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:14:10"}],"primary":{"byte_end":526,"byte_start":303,"column_end":2,"column_start":1,"line_end":20,"line_start":13,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): well-founded recursion cannot be used, `LanguageTwelve.Main.stall` does not take any (non-fixed) arguments","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:14:0"}],"primary":{"byte_end":526,"byte_start":303,"column_end":2,"column_start":1,"line_end":20,"line_start":13,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 2\nwhere\n a := ↑number","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:15:12"}],"primary":{"byte_end":301,"byte_start":113,"column_end":2,"column_start":1,"line_end":11,"line_start":5,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): failed to set reducibility status, `stall` is not a definition\nNote: Use `set_option allowUnsafeReducibility true` to override reducibility status validation","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:17:10"}],"primary":{"byte_end":526,"byte_start":303,"column_end":2,"column_start":1,"line_end":20,"line_start":13,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `LanguageTwelve.Main` (error): well-founded recursion cannot be used, `LanguageTwelve.Main.stall` does not take any (non-fixed) arguments","notes":[{"message":"generated location: $STAGING/lean-src/LanguageTwelve/Main.lean:17:0"}],"primary":{"byte_end":526,"byte_start":303,"column_end":2,"column_start":1,"line_end":20,"line_start":13,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/recursion-false-evidence/project/lexlean.lock b/tests/negative/recursion-false-evidence/project/lexlean.lock index cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 cbf19f4d4..899c68abb 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 = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" +compiler_semantics = "7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e" 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 6ae079017..4746d34be 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 047fb3de4..4c27285e5 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fbd9afdc5b19669c491fb8be9e6f9578e6715f7244aa0adb013ad42263077a4d","src/lib.rs":"49c793ee46756c6d514289abbdd0cd8d2dd62bac8312bc2a1c90ff74d7a8fa4c"},"name":"bits","profile":"rust-core","program":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 fbf55c3de..5f0bd97aa 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 3a7f01ddd..d4062506f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fafa24144f14cc940ca1e3c16043130877f447f6beb7975029ea5e9cfd45cff4","src/lib.rs":"7801814468d34df54faeffe9207e61324bba1d83e29d113ead27eb9195312b87"},"name":"builders","profile":"rust-core","program":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 7cfa41078..a4b497e26 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 6c56e4a4f..4a88a9f2b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fa3523bd7088be5264998e9685661cde4aa5d182d6f8dd083cb5130c7f1fe39b","src/lib.rs":"3ea51441d8082bca46bcb3c8e2caba9345a5408ce677292a985f169d6661994a"},"name":"conversions","profile":"rust-core","program":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 0b5928ba4..aaaa3f6ca 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 abd21f4c7..e6c0920eb 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"70d81e8cefb299340d3a62dc48f2c63bec855c62563bffbbb15981b963bf8764","src/lib.rs":"f308cdfc8f1d2fa043a39c472851858aeec0fa24616abc115e3194e5eea42ccc"},"name":"fixed_middle","profile":"rust-core","program":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 661a5a45e..d436bb272 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 32b2e29a1..6836173a0 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce31af3f31d522467497872c4f9ca4a03022315e9de1c0f4e00f2ee5f92ef058","src/lib.rs":"d077e1a08c789158986baece65130b95ed7a95a670d2c90f551977d2135f1df3"},"name":"fixed_small","profile":"rust-core","program":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 40ac4158b..f2821218e 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 3f12ee34c..febca246b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2f1666bc680f131b93f6a000603f0f2798622e79f6fac14abd8a5e0d7341fdae","src/lib.rs":"f0f0a8c0cad1a71dd63fb172c31c1d60db20313104463a6f150afca4d891cd40"},"name":"fixed_wide","profile":"rust-core","program":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 e7183da8c..b3e232973 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 a4dfd2997..2d2b5367b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a9965766740afeb45706683c1c941095c32f92781e171be35737261a61b8a24a","src/lib.rs":"265af29f14586a0343afb425c4918da3c6055dbaf73b24cfc610a027da1e0809"},"name":"higher","profile":"rust-core","program":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 05b1db1b7..ab582da44 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 786be2898..205f4c2a7 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fc1efbb5b6ec479184b12aceea00af517df40c0ba110f9c286361df08f0b2142","src/lib.rs":"7502713652008d39229ab08441a2904fb8426cd37d4c20285e519730fdc22593"},"name":"int_ops","profile":"rust-core","program":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 6ab34baa7..96f378c2f 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 b1548c46e..09adbb7c4 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"59cd8633f12e3fac8ffcf39b00cfe0eae72e66af298eab94fb7a158d60c11ef2","src/lib.rs":"ec5552329b8cb6b83bf136310a623cb1e7489cfafb2a21b230cfc4f8447c51fa"},"name":"nat_ops","profile":"rust-core","program":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 57088d69a..ab5386485 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 146c4213d..1a2a26ecd 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7f0fac10f04b56539a18ecadc9ac9f95f1ceb9be06a3738695181aa3b6a2e9fd","src/lib.rs":"f77a8889a2639195af038d018a863c9a79f14db51278952d1da5ce206bd668eb"},"name":"options","profile":"rust-core","program":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 1ee175c0c..37a80779e 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 df8782706..4b089824b 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a3dd557c4339d106e7e177364f68702e05259c1cdf7bcc15c6c3801657acecac","src/lib.rs":"a9910a7ac532e077a17ffd14206ae6375907126e8ab304cecd17ee1ba5ab1085"},"name":"pairs","profile":"rust-core","program":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 42afda718..afabcf8af 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 a152d2559..026bc9e54 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6eec599d19aab86b6e6c59ee909f6f5478461263e25000e7bc26f67766ef73df","src/lib.rs":"4dfb8beb700c9adbe0abd49585b4691238db30689d7c0edfbe4601268210a8a5"},"name":"parity","profile":"rust-core","program":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 1f58222d3..9b9626bcf 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 99f84e11e..a839dcc34 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"75a1f2726772f72e4e3d6999f4a2e57d1b02c3dfada582fcf741f36a7e68aab8","src/lib.rs":"75717c93f7eb083027fd65ec26fa8633f3b7d2f89c29fca9ce3e3cc7cc676429"},"name":"records","profile":"rust-core","program":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 920341e74..8685dc1b3 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 3a504a58b..220055826 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f2da6540473eb8c30328ec5522a3a0d931e34392c6720ac9842e96878fa8fd5","src/lib.rs":"cf488904e65fcc775e3ab609f6586188eef2038d7821c5e303effdb5cfc3033d"},"name":"shapes","profile":"rust-core","program":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 2428e4ac5..492aa5a41 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 f9024f5bc..df777f537 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0c780ccff965ccc10faa78b2714b324aa2f72bb88aedc1f0632079faded0b0d8","src/lib.rs":"0c41a66fccc35c507f10b37bae86e81f68d0076d3468125efc9f2d8a347e7812"},"name":"well_founded","profile":"rust-core","program":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 48b745d62..b4bb19cc3 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 81cf78cbf..1c267ea15 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fbd9afdc5b19669c491fb8be9e6f9578e6715f7244aa0adb013ad42263077a4d","src/lib.rs":"28f88d34b240232107b4bdff8b086a3acbbb23df63a5535f4cf58f5f33a920ec"},"name":"bits","profile":"rust-std","program":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 9a49d0d5a..d9057c8d4 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 139cd90aa..727b9d1f1 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fafa24144f14cc940ca1e3c16043130877f447f6beb7975029ea5e9cfd45cff4","src/lib.rs":"d575ec9360acf95c825535ad667a3ef6d906d216d3d52331f3118010c1bada5b"},"name":"builders","profile":"rust-std","program":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 5425245fc..b6b6fa219 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 29bfdfd3a..7586728e5 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fa3523bd7088be5264998e9685661cde4aa5d182d6f8dd083cb5130c7f1fe39b","src/lib.rs":"e0c05cf69833c7f43a18b493542e586f3a0dcb6c30c80ac934a4086c4e3fe1e3"},"name":"conversions","profile":"rust-std","program":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 69874ea3a..217b52210 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 6f2f10cf1..4f62937b9 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"38d68167a4f0b5b10417a9133b3afe780fe8449f038b8124bd97a75578a12b14","src/lib.rs":"1efe2b4f6015da3f7e5ecb18aedf10d5484ac770d347f87d1b9f08d3022d47cc"},"name":"decimals","profile":"rust-std","program":"6fc888e3f1e9cf5a37f9f68cc01d1a1ff94cc30a552b384155cb811a9d13a526","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 8f0800938..57efa2b9d 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 419431402..f34226b5d 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"70d81e8cefb299340d3a62dc48f2c63bec855c62563bffbbb15981b963bf8764","src/lib.rs":"e3d95cef121ebfda14217535b6bc27db8a10f8de4660094bc76d6657e4ae05b8"},"name":"fixed_middle","profile":"rust-std","program":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 37e33bf73..5f4d1e7f2 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 9a72fa24f..101617bf7 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce31af3f31d522467497872c4f9ca4a03022315e9de1c0f4e00f2ee5f92ef058","src/lib.rs":"490ea341ab742d6e0889c4b8f12dc1910ec57426bd74e728143e658b2f77f2ff"},"name":"fixed_small","profile":"rust-std","program":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 a4fe8b0a4..2a27cf5c8 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 6d98329a6..72b82e6be 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2f1666bc680f131b93f6a000603f0f2798622e79f6fac14abd8a5e0d7341fdae","src/lib.rs":"d602a7c44b2c87b7592f08c7680096462d33a7f0a94fe2f2f75217c3a4dd503d"},"name":"fixed_wide","profile":"rust-std","program":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 20f190dd4..b6caa9639 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 7b763d17c..8dd30b993 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":6,"name":"run"}],"files":{"Cargo.toml":"21833df3c31669fee6a4dcbc88ec818bce79c0448e84ea927707c0794b480598","src/lib.rs":"c43ae91ecd04414637c50ee825458c0c0116fb91077a54dd6b337b6314ddc6c9"},"name":"folds","profile":"rust-std","program":"48b1d22aff3beb88a3f286056475ac74e9a357ff9dc339c89b802249153cebbd","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 23a8ee055..3154f2b0c 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 52d19eaed..5a2804f68 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e54fd5976089487c24262a84ee4c52b4e352aee3ea4cbf903b03f3beb32b2388","src/lib.rs":"080123c4076700aba965da9cdb74c7592689b3abacb9e1e3ff4bea12fa83e7c0"},"name":"formats","profile":"rust-std","program":"a2d6d8d674af0354e10f236b2b6dcab2579a6ff9db94b3a696fb2c0679df7372","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 a49de0382..73cfe58f4 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 595a5ad2c..ef200fd73 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":30,"name":"run"}],"files":{"Cargo.toml":"006bdd268983be958dbe85a51c271f1e7315257d78cce3ed57743b23cd195944","src/lib.rs":"72489cde84069bf6e34c53e43d3b6de78cc4f5e3f9e9117fbd964ae31f85bde7"},"name":"graphs","profile":"rust-std","program":"54b3c6a08367cfc9abac0716d282f9bfd50bcfffd1c1c0a5693bf6e6407145e2","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 f38b57d6f..056ccffa8 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 1ed091ad9..f0104ab0f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":18,"name":"run"}],"files":{"Cargo.toml":"cd5f821f98d8f9d0bb49b5e40dbd8213040d1eb56f5ad4d42ca594defb94fafc","src/lib.rs":"f2b1845fe3adad6812c4b57175cd599d4080bdcf865efbce9d06f9c19f6c9706"},"name":"grove_root","profile":"rust-std","program":"1aadfc9ba4fd60d7060d145ef97656e0bca23924ec77e487808d5faae1ada33d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 4f1d87ef6..4454f4e2e 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 37fd6e738..8d22cf3c2 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a9965766740afeb45706683c1c941095c32f92781e171be35737261a61b8a24a","src/lib.rs":"f82da2f587585cce5a6abd616213045aa57aaee2228a787f540c6b664160238a"},"name":"higher","profile":"rust-std","program":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 fd45e3a33..b9f227955 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 4cdec5474..722b052e2 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fc1efbb5b6ec479184b12aceea00af517df40c0ba110f9c286361df08f0b2142","src/lib.rs":"ca5bbe334ad23a550d260ec243a6be249a61f249e733bb1433d582487d85c287"},"name":"int_ops","profile":"rust-std","program":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 9f4169c2c..742fb06e9 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 6ccffbd52..c6d9d9972 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"30538a8c312a4083ac5aaaa7ae38d9ab7689cd5c311aafa494a6add82a0481d2","src/lib.rs":"0a86c1df2c70a18f50c6d51d8d31e7efc17b44a7f90e7ea754acbd0782ce8364"},"name":"iterations","profile":"rust-std","program":"17fa1f466a5d992c3b54152d0a758cd23d38d1b2fda1ef5693cc06700cabe223","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 9d47cc2f8..245802f6c 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 174019dc4..7eff717b6 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":13,"name":"run"}],"files":{"Cargo.toml":"9cecbb64ae81b051d99238533458e614535b89a97d68038a37dc146d7b713075","src/lib.rs":"2e7d46426b92417e89c52e95a2a86b5428d20cc33310d05167864a748ffc79e6"},"name":"key_types","profile":"rust-std","program":"fc3e6614b68e0f0cf2e4fcd7831a0a8ac5a84ade2a42c08eabcd0d2ddc8abe3f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 adc7eb2e0..14f682021 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 2a1176e15..1b087f97f 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d50f03397a2a5fa453e54d825b4cc78390b490b4973fe40536246e21fa86ef38","src/lib.rs":"5b9440cfbe529b300f326669cd3186d65d2fd758984e30598c0c2ec62f448784"},"name":"literals","profile":"rust-std","program":"c7a7def9b6c20967b79d34ac878ad3bd945e7e8a5f7ba59728f515c9495f8d2c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 cd01c5c26..cd88667d7 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 c3f3f91be..399fb75bb 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":5,"name":"run"}],"files":{"Cargo.toml":"e20682f7e1258bfdb39c7012f02acd610ed6215570067732977bd5a1e9318152","src/lib.rs":"478e0a5ef288094018bf4e4b4dd4e8ea02a890c41253fef33c194130fecb119d"},"name":"map_folding","profile":"rust-std","program":"db2b0f171e75cff8b9931bc693e039342501c8d43f2d2a653bd29728fe777dc1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 03c5a7e53..86364cdeb 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 2d796a495..bb55d2c05 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":10,"name":"run"}],"files":{"Cargo.toml":"adebd8e382f9c7ef2503c46c04e30f3fa80125dba1bb356f1ae0361d4958dac4","src/lib.rs":"74e57de6fc14045e08ffa6efec190aafbb5404429d63778b4a7b9509dc75170e"},"name":"map_ops","profile":"rust-std","program":"befbd0f6a81345584eccc0e352073fcc65d585f2ff9b002aad0cfac26a5a426f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 bb47277f5..50d351c00 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 153e84e70..e3e481513 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"74d20143e44a79d9f19bf361224c94504bf0af1c0270595f0d3e089ac3edee9c","src/lib.rs":"6d08d4eef8ef893a1e44d7791e0dc20b8145982029ce00ae2141bb9b8001ce05"},"name":"mapped","profile":"rust-std","program":"83625b33701e16e8f1014fd8a942ea0ac67a87cefb2ef0f93321f9dbc4bbe943","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 262512d04..95a6c86a4 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 5c7d8c655..425deb6d9 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"59cd8633f12e3fac8ffcf39b00cfe0eae72e66af298eab94fb7a158d60c11ef2","src/lib.rs":"5f05eb70ed8f42dc70c25bc003d949c109c60e5f9cacdcdd12a2b392d931ca7c"},"name":"nat_ops","profile":"rust-std","program":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 408787b3a..a439a4b26 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 69a0848de..99e10519e 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7f0fac10f04b56539a18ecadc9ac9f95f1ceb9be06a3738695181aa3b6a2e9fd","src/lib.rs":"f4911d06380e55018526f1c48f5de31724916e3ebc587a7934519d70cf02bfb7"},"name":"options","profile":"rust-std","program":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 8781f0f98..dc94099cc 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 3b2742a5c..840e73186 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a3dd557c4339d106e7e177364f68702e05259c1cdf7bcc15c6c3801657acecac","src/lib.rs":"23479ab66c4b197434b8b1193fdb3ab0c4ad64e05eda32f3f34a6d2a117dc842"},"name":"pairs","profile":"rust-std","program":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 df485589f..8d7cd4b12 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 40ccb537f..bb88d8bce 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6eec599d19aab86b6e6c59ee909f6f5478461263e25000e7bc26f67766ef73df","src/lib.rs":"ee4df1540df0d5da7ff6c5b6892f04280f4e6353416665713ae22eb49034238e"},"name":"parity","profile":"rust-std","program":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 ec6196ba5..1f1b26dad 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 71e837952..1617514ed 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"75a1f2726772f72e4e3d6999f4a2e57d1b02c3dfada582fcf741f36a7e68aab8","src/lib.rs":"606a29cf73c0c31afe69443d0c19db59767e93145d66f86c8509216927a9893f"},"name":"records","profile":"rust-std","program":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 5736cc210..f4652cddc 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 687469142..f68dfd9bb 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"385a04bfd361768612fff077142ae59ca5552088bdc4df6d2c920d7079d5b569","src/lib.rs":"b5db01a7608d311f4b632fa5cc1d0bfacd05b2be85c939bf570ade65ba6b66b7"},"name":"rewrite","profile":"rust-std","program":"696084d3a568dde72c41261e20eb3e6dfc3055d9f56ddb2a9980a5b1eb061f89","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 e915e6017..5467d2c54 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 06172d390..34510508c 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c0dc72188af676095b448d956e1239b374cac42b1af2de7e858291cbf5383863","src/lib.rs":"eb06a93dae2396dc20bd68830ea3f1742d699edfbbd07eac4dcd62ce7ee7db6d"},"name":"rose_total","profile":"rust-std","program":"023b87970dcc71c4e8be45aa676e75b9db5753e3da5f8ac416891d595dca8b41","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 1094b424c..53d668a62 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 ee1e0e145..9e1337dbf 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"aa7298676d2c7b758270edff2ce45121c53239621d97fb162008201032ddfdeb","src/lib.rs":"8bd41d630b6aba27bb4e3ac28bf351ce079193639a4a6de2270bd0b3f63714f9"},"name":"sequences","profile":"rust-std","program":"c01fc096fdf4c89e91adb6928197ce32bcb7e42426af0487546f4edc98fd3702","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 b1d30b799..3950d8cc0 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 b6257bdc9..f41b62784 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":11,"name":"run"}],"files":{"Cargo.toml":"9cef623c27ac72b79e5d3195d80b594d76fe1a759d11955b293aa0332d7e27c9","src/lib.rs":"4ee0aced9c00e80999f82926c6c5479cb207c9f302457058066a7c59561f8be0"},"name":"set_ops","profile":"rust-std","program":"ff65cb9f421e37305a20ed392f155a0aabde61713d63520082effd9e2006231d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 cb1aa494a..5efa96cf0 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 ba61cf434..a46b517b1 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f2da6540473eb8c30328ec5522a3a0d931e34392c6720ac9842e96878fa8fd5","src/lib.rs":"b91119bec609c3dc5e31503329b9427d2589ee8baa289f5b2a14301fc2d685e5"},"name":"shapes","profile":"rust-std","program":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 cb7d11b92..6474a40a4 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 270dcbc62..2488deda7 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":15,"name":"run"}],"files":{"Cargo.toml":"8309d0c12333a77366606152fa5e7fe1e3557cbadf25b7bb1c65141f372c670f","src/lib.rs":"39b5a659c4e5b22ffb198a522eadd0c384d9c68b778d62c00d6acd3a406b10b2"},"name":"string_graph","profile":"rust-std","program":"bbf596ebb9eca8da32bc60cf81d5aed9f971a815f74ed865dc65f5b5acd7c475","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 9dcee30cc..646da87ca 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 6037c83b1..7d92e7c36 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3af3d260c8a7a536d3b4356bf86216ede694c8c1a9c668e89673e25e9e784112","src/lib.rs":"4eff2069f487785324288a06eac2ec67807eeef02564e7b6796656aa84f6f349"},"name":"syntax_total","profile":"rust-std","program":"0b283960a85e885aef98cffde5a37a5840fe6905cb960332eb57755a9f588e7b","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 7bd7498ca..2fdba68c3 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 17aceedeb..f86a327e4 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"85db331d2126ced03d3a6263139dbbca63768a36da3535c353c177a56d64ee63","src/lib.rs":"b05d4565bd2dc0d31ae405d3fb2a6e9f04e34d04b88b72eb6ca8d0e55fca832b"},"name":"text","profile":"rust-std","program":"54080023d9f656975c8d23e285159c2f80184d9c38941ebdeb9b115207eaea0f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 374324bee..73b921d45 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 1c2bd297b..171d81c10 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ae25e88a1e094fbdd0952114f0621e20767e9394b73815fcd4da238711b33c78","src/lib.rs":"58120ca1ac6217d63c5969d6f5314d526b4b340e11d5dc6886af1f2296b33375"},"name":"tree_total","profile":"rust-std","program":"43b6eedb7829b3598a29348c532e07d70295631eb2650df5de98d38c3daccb35","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 bd2e6e24f..5d989d9ab 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":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"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":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 356d2f546..7db89abec 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0c780ccff965ccc10faa78b2714b324aa2f72bb88aedc1f0632079faded0b0d8","src/lib.rs":"f7b88a805108f63fc65b351432801b4521e37655461926bc3f6b254896d38e62"},"name":"well_founded","profile":"rust-std","program":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["c2030093ffdb7a3e8068874ff75532ac2fc4672af98d392321c8b852b80b4e47"],"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 7a3005f89..f47b21dec 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 54e492c38..e5322e291 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d2642abd4556782d8a017a0a6b2cfb4bdec3858040ce0f535f3a44d5dcf9de6a","src/lib.rs":"9b5570739b12d66a09de99dcdadc4cd439838b21c543e654417a6dba78f0aba6"},"name":"checked_sum","profile":"rust-core","program":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 370b9a50e..3bab02a44 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 975a54744..4e2f9d7f7 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5ce9a4750afc2319c429f0c99580235916a3572af40fc079449063d4d7d64b9d","src/lib.rs":"db9a71f74e30ecb581b7ac2688e7277d0b6c2dc369925b1ccf67223b0967ccd6"},"name":"halvings","profile":"rust-core","program":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 a61e41e93..69f11b200 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 d48986dac..37796b434 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce430c8cfa11725511655d377de19ff244bde5bf904cda9aa11454e0d20da660","src/lib.rs":"efcdcd2e203664aa67d6f9b0a87984c6e9b12f248be84c1b7299e334561b261a"},"name":"quadruple","profile":"rust-core","program":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 6e1605b91..42a6951c7 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 91ca9b545..8aacbd2a4 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"683aa9bf20d061b2173baf56bc15458181e14c259970edff7f60eb310b93df8f","src/lib.rs":"d9fb377859859c89d489754c8138f5b238157b6f75bda86fdce267925e10732c"},"name":"shape_area","profile":"rust-core","program":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 18e450f01..97f7bfef4 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 86b2ba492..4839e691c 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d2642abd4556782d8a017a0a6b2cfb4bdec3858040ce0f535f3a44d5dcf9de6a","src/lib.rs":"aaaaf1ccf07f5112e0f7a16fc65b21ab9c58c9341844fe6882f82a151037da53"},"name":"checked_sum","profile":"rust-std","program":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 1240714ca..ccb0131fe 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 7fb7eddbe..95234f572 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5ce9a4750afc2319c429f0c99580235916a3572af40fc079449063d4d7d64b9d","src/lib.rs":"653fb4583c2029804d083e8fb442ae21ed22c459d356a1161f3919d889d17c27"},"name":"halvings","profile":"rust-std","program":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 fb0ee4aba..dae47c805 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 4d674d6d9..d3904e44e 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f724063bb6df92304f518e824a184b89f9956e15421cffbd5d158d5d9f8092c4","src/lib.rs":"9eaf875ce4a10119c0e49f42e27fdc00b2a765df8dfaafca61f6ac06cc5f679f"},"name":"head_or","profile":"rust-std","program":"fd195b2e7a605141c794aa55f45159309d1e64be3c91ea5076f013e04dd08ec8","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 0605fd0a2..d693eb578 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 bce1d3fd6..1adf24ad3 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce430c8cfa11725511655d377de19ff244bde5bf904cda9aa11454e0d20da660","src/lib.rs":"e651d8ffeb9f1ca328081a4bb63c81f67d0cab0869aeae101c9797ff0fead067"},"name":"quadruple","profile":"rust-std","program":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 90c2e5dec..a6e1ec9a8 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 7abcc9134..f66d09550 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"683aa9bf20d061b2173baf56bc15458181e14c259970edff7f60eb310b93df8f","src/lib.rs":"8cf6fe537cdc43e608ce442810740bf54926dc3eda403ba551e2d958285b5a4e"},"name":"shape_area","profile":"rust-std","program":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 f715bae50..be69829b4 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":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"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":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"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 483b59739..706008fa8 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":"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"} +{"compiler_semantics":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b927ff521f32d7fb2292ab2d020df8a2e1acd30460ac58429f4292741a2f51d3","src/lib.rs":"d05d8af8bf9f349f05081d5a7563edaaf5617159fdf4e463335b2a82070222ef"},"name":"sum_all","profile":"rust-std","program":"8ff4684c89e1a22e97417561a676319cab5351c711d244d980c53acc6160e821","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["3950237c975b30f5dd9298b8e09919c9e7634a25c3375391614855a0b2405419"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/runtime-library/LAWS.md b/tests/runtime-library/LAWS.md new file mode 100644 index 000000000..e298c0a8c --- /dev/null +++ b/tests/runtime-library/LAWS.md @@ -0,0 +1,99 @@ +# Fold-law provenance + +`LexLeanRuntime.Laws` (SPEC.md §17.12, *Fold laws*) is the fifth native module +of the runtime project `language/runtime-1.2/library/`: the sums, bridges, and +fold laws that `linear_arithmetic` rewrites with and a `law` proof applies +(#117). Like the four modules migrated before it +(`tests/runtime-library/MIGRATION.md`), it is LexLean source, schema +`lexlean/core-module/2` in the core notation (§17.21.8). This record is the +evidence that the source states what was proved, and that the Lean the +compiler generates from it is the same environment. + +## The probe + +Run on `main` at `32afe5da` with the pinned Lean 4.32.1, before this change. + +- **An integer kernel.** `clampStep x = clamp(((x + 20) · 9365133 + 2³¹) quot 2³², + 0, 255)` and its monotonicity, written with `less_than`, proved by + `linear_arithmetic{definitions: [clampStep]}`: `omega could not prove the + goal: No usable constraints found`. The script did not unfold `less_than`, + `quotient`, or `negate`, and nothing split the clamp's `if`s. +- **Two folds.** `doubledTotal xs = total xs + total xs`, where `total` folds + `acc + v` and `doubledTotal` folds `(acc + v) + v`: `omega` reads the two + folds as unrelated atoms. The missing lemma is a normal form for additive + folds: a fold whose step adds what each element contributes is its + initial value plus the sum of the contributions, and the sum is linear in + the contribution. Once both folds are in that form, the equality is linear + over one atom, the sum of the identity. + +## What the module states + +119 declarations: the definitions `sumNat` and `sumInt` with what Lean +generates for them, the theorems the registry names +(`language/runtime-1.2/laws.toml`: 55 rewrites and 3 applied laws), the general +`sumNat_perm` and `sumInt_perm` that the reverse laws are proved from, and the +auxiliary rows Lean realized while proving them: equation lemmas, matchers, +splitters, and private proof terms. That includes equation lemmas of +`LexLeanCollections.lessThan`, `listFold`, and +`LexLeanRuntime.quotient`/`remainder`, which Lean realizes in the module that +asks for them. Every row pins its exact axioms. No row depends on +`Classical.choice`: the bridges are proved by case analysis on `compare` and +by rewriting `isZero`, never by `by_cases` or `simp_all`, so a theorem +proved by `linear_arithmetic` inherits at most `propext` and `Quot.sound` from +the laws it uses. + +## How + +The one-time oracle is in the checkpoint commit that adds this record +(`b58f1952`, `tests/runtime-library/laws-oracle/`); the commit after it +removes it. Its +exporter, `flags.lean`, `canon.py`, and `compare.py` are those of the runtime +migration (`MIGRATION.md`), with the module list narrowed to `Laws`. +`run.sh `: + +1. `lexlean build` of the runtime project generates the Lean of `Portable` and + `Collections`. `Laws.lean` is compiled against them with the pinned Lean, + silently. +2. `flags.lean` and `export.lean` export the `Laws` environment, and `canon.py` + writes its data form. `lexlean fmt` prints that in the notation, and the + result equals the committed `language/runtime-1.2/library/src/Laws.lex.tex` + byte for byte. +3. The Lean `lexlean build` generates from the committed source is compiled, + exported, and converted by the same programs, and `compare.py` compares the + two declaration by declaration, as trees of kernel terms. + +## Equivalence + +Result: the same 119 declarations in the same order. 118 rows are equal in +every byte of their terms. One row, `lessThan.match_1.splitter._sparseCasesOn_2` +(a sparse `casesOn`), is equal up to the names of bound variables, which the +elaborator's construction makes hygienically and no kernel judgment sees. This +is the same difference the migration found for the sparse `casesOn` rows of +`Collections`. The only other difference is the private `Lean` import the +decoder adds to a regenerated module, which SPEC.md §17.10 allows. + +## Verification + +- Every verification of a project that imports `Laws` (every language-1.2 + module with a `linear_arithmetic` or `law` proof) compiles it, replays it + with `leanchecker`, and audits each declaration against its row's exact + axioms. `conformance_rt_03` verifies the runtime project itself, `Laws` + included. +- `conformance_pf_22` holds the module native with its imports, the + registry's names declared in it, and every row within `propext` and + `Quot.sound`. It refuses a registry that names a missing declaration or a + law twice, and a laws row that only bounds its axioms. It also verifies the + fold equalities of `examples/fold-laws` for all inputs and has Lean refuse + three false ones. +- The planted defects are recorded in `VERIFICATION.md` ("the fold laws can + fail"). + +## Identity + +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/semantics-1.2.toml`, the semantic-module +and snapshot schemas of version 2). Every language-1.2 lock (the +compiler-semantics ID substituted), golden, fixture expectation, calculus +package, production export, and verified record was regenerated by the +repository's writers. diff --git a/tests/tooling/commands/expected/build/manifest.json b/tests/tooling/commands/expected/build/manifest.json index 33a63af41..5468250d2 100644 --- a/tests/tooling/commands/expected/build/manifest.json +++ b/tests/tooling/commands/expected/build/manifest.json @@ -1 +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"} +{"build_id":"b3520b2ea7926a80658ebb8f9fc0b1bb01189aa4967e15868cc98f8c2b92159e","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"69942fbf3676ad416f46986f19197334cc4e14e3f9e77e2e0c91d5ec90279d78"},{"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":"49882e99506b82e4a8439471da43421fea928636fddceff75a641706e98bd688"},{"byte_length":13591,"kind":"tex","path":"modules/ToolingCommands/Main.tex","sha256":"38c0c5a259c3d8e600dad43081abe7e842365fc5ca7a21bb88123b2e49434bb9"}],"project":"tooling-commands","selection":["Main"],"semantic_id":"35ed3efec05663eb8645bc8c59a3128900b95b09358041eaf38483287a634046","source_id":"e04a01a3ad8c8a1414d5b34c652d896e4c3551ee8905e872d29767dc2fd35406","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 c08f3f33d..4db352c65 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":"6665946d3b9236c5f700efa49a4ecbb390ce1489ee0b7db067b6bd552cd6df89","source_id":"c20df86f017d30d4840febe006428fcec1680057958dc50478797dec0a2e044e","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":"35ed3efec05663eb8645bc8c59a3128900b95b09358041eaf38483287a634046","source_id":"e04a01a3ad8c8a1414d5b34c652d896e4c3551ee8905e872d29767dc2fd35406","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 c8fe5c6c8..328893e16 100644 --- a/tests/tooling/core/expected/build/manifest.json +++ b/tests/tooling/core/expected/build/manifest.json @@ -1 +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"} +{"build_id":"c5e47af6f049feb1955dce13a2eb0a38cf9af4d47ce241005bb73097476a071f","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"e717da6684507f072535072eba284a6abf60b3bf6fcff0dc03bcf7bd20c95085"},{"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":"9b0ccd78b66e4fea86c68148ee731bcba941660db1ab76c83ba584cdc09e9174"},{"byte_length":8320,"kind":"tex","path":"modules/ToolingCore/Main.tex","sha256":"386777537e87ff79421132913e55382244ba72e469fa00db76765a830658d42f"}],"project":"tooling-core","selection":["Main"],"semantic_id":"cd3e9a38956000eeaea8a8ee4740fa10653f2c08d06d5ff645a6a8a5ec780c2e","source_id":"19aaeaea6fdf57090aed57a49d42d623e379d7bbb85b5411794bf84a57e73395","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 84b973284..d6d45f827 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":"21110f82076259331ccb57c284d67d8261e0ab30919e79676f18bcda490a3853","source_id":"5d9a5fb7de4bdbd3895a3a576711a3b860fd8941bccb813741bd6f8099dedb61","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":"cd3e9a38956000eeaea8a8ee4740fa10653f2c08d06d5ff645a6a8a5ec780c2e","source_id":"19aaeaea6fdf57090aed57a49d42d623e379d7bbb85b5411794bf84a57e73395","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 64a73ff78..2eb7f64cc 100644 --- a/tests/tooling/traversal/expected/build/manifest.json +++ b/tests/tooling/traversal/expected/build/manifest.json @@ -1 +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"} +{"build_id":"fe69360239de6dc8fb4baa5e2f44ba5d4b935455bcb48ed4965392b4b3145073","compiler":{"semantics_id":"7c6ad91252b5e1a4d0db2bb0b8fd6bff660b68553b163bd3b5552b4694352d8e","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":"b31cd826ef0637cb04f51e15ec3d3dc94a672dd7ef79386ac567b2029afdd701"},{"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":"88fe6929fa05dfce26173c0bb2237c18f7d2404cb0a7b4e17332b6f523d15fc2"},{"byte_length":11798,"kind":"tex","path":"modules/ToolingTraversal/Main.tex","sha256":"e7cae90c6a1cd1d9fa94610f688a123728c3f12daaa7020f7dcf900bced7bc13"}],"project":"tooling-traversal","selection":["Main"],"semantic_id":"139041878a33ed762c26e3fba025cbf8bd95c72dff359824692db803bf692334","source_id":"3a1e03ed0521a71fc3764192c9b07d2d249ac8310217a20fae766fca1b1de964","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 5a7a5fe76..070ba42c5 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":"cce9bff7bb504faea75139226568af040bd1c39f65f8938dbe20e7cf1fe7e037","source_id":"9e8ef0cd990ab90afbf2342ddf1f9a2b0226ace44c8ec18149a7d008f1b5cce8","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":"139041878a33ed762c26e3fba025cbf8bd95c72dff359824692db803bf692334","source_id":"3a1e03ed0521a71fc3764192c9b07d2d249ac8310217a20fae766fca1b1de964","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 3b0d2180b..227af7d2f 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() != 387 { - return Err(format!("RP-07: the §31 table has {} rows, not 387", rows.len()).into()); + if rows.len() != 391 { + return Err(format!("RP-07: the §31 table has {} rows, not 391", 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.